当前位置: 首页 > news >正文

建站好的公司什么都不懂能去干运营吗

建站好的公司,什么都不懂能去干运营吗,少儿编程课哪个机构最好,建设网站投资多少钱OpenCV官方教程中文版 —— 图像修复 前言一、基础二、代码三、更多资源 前言 本节我们将要学习: • 使用修补技术去除老照片中小的噪音和划痕 • 使用 OpenCV 中与修补技术相关的函数 一、基础 在我们每个人的家中可能都会几张退化的老照片,有时候…

OpenCV官方教程中文版 —— 图像修复

  • 前言
  • 一、基础
  • 二、代码
  • 三、更多资源

前言

本节我们将要学习:

使用修补技术去除老照片中小的噪音和划痕

使用 OpenCV 中与修补技术相关的函数

一、基础

在我们每个人的家中可能都会几张退化的老照片,有时候上面不小心在上面弄上了点污渍或者是画了几笔。你有没有想过要修复这些照片呢?我们可以使用笔刷工具轻易在上面涂抹两下,但这没用,你只是用白色笔画取代了黑色笔画。此时我们就要求助于图像修补技术了。这种技术的基本想法很简单:使用坏点周围的像素取代坏点,这样它看起来和周围像素就比较像了。如下图所示(照片来自维基百科)

在这里插入图片描述
为了实现这个目的,科学家们已经提出了好几种算法,OpenCV 提供了其中的两种。这两种算法都可以通过使用函数 cv2.inpaint() 来实施。

第一个算法是根据 Alexandru_Telea 在 2004 发表的文章实现的。它是基于快速行进算法的。以图像中一个要修补的区域为例。算法从这个区域的边界开始向区域内部慢慢前进,首先填充区域边界像素。它要选取待修补像素周围的一个小的邻域,使用这个邻域内的归一化加权和更新待修复的像素值。权重的选择是非常重要的。对于靠近带修复点的像素点,靠近正常边界像素点和在轮廓上的像素点给予更高的权重。当一个像素被修复之后,使用快速行进算法(FMM)移动到下一个最近的像素。FMM 保证了靠近已知(没有退化的)像素点的坏点先被修复,这与手工启发式操作比较类似。可以通过设置标签参数为 cv2.INPAINT_TELEA 来使用此算法。

第二个算法是根据 Bertalmio,Marcelo,Andrea_L.Bertozzi, 和 Guillermo_Sapiro在 2001 年发表的文章实现的。这个算法是基于流体动力学并使用了偏微分方程。基本原理是启发式的。它首先沿着正常区域的边界向退化区域的前进(因为边界是连续的,所以退化区域非边界与正常区域的边界应该也是连续的)。它通过匹配待修复区域中的梯度向量来延伸等光强线(isophotes,由灰度值相等的点练成的线)。为了实现这个目的,作者是用来流体动力学中的一些方法。完成这一步之后,通过填充颜色来使这个区域内的灰度值变化最小。可以通过设置标签参数为 cv2.INPAINT_NS 来使用此算法。

二、代码

我们要创建一个与输入图像大小相等的掩模图像,将待修复区域的像素设置为 255(其他地方为 0)。所有的操作都很简单。我要修复的图像中有几个黑色笔画。我是使用画笔工具添加的。

# -*- coding: utf-8 -*-
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('messi_2.png')
mask = cv2.imread('mask2.png',0)
dst = cv2.inpaint(img,mask,3, cv2.INPAINT_NS)
dst2 = cv2.inpaint(img,mask,3, cv2.INPAINT_TELEA)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
dst2 = cv2.cvtColor(dst2, cv2.COLOR_BGR2RGB)
plt.figure()
plt.subplot(221),plt.imshow(img),plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.subplot(222),plt.imshow(mask, cmap='gray'),plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.subplot(223),plt.imshow(dst),plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.subplot(224),plt.imshow(dst2),plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()

结果如下。第一幅图是退化的输入图像,第二幅是掩模图像。第三幅是使用第一个算法的结果,最后一副是使用第二个算法的结果。
在这里插入图片描述

三、更多资源

  1. Bertalmio, Marcelo, Andrea L. Bertozzi, and Guillermo Sapiro.“Navier-stokes, fluid dynamics, and image and video inpainting.”In Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Conference on, vol. 1, pp. I-355. IEEE, 2001.
  2. Telea, Alexandru. “An image inpainting technique based on the fast marching method.”Journal of graphics tools 9.1 (2004): 23-34.

文章转载自:
http://politest.qkrz.cn
http://israelite.qkrz.cn
http://philologian.qkrz.cn
http://noetic.qkrz.cn
http://theologist.qkrz.cn
http://commandress.qkrz.cn
http://hurricoon.qkrz.cn
http://espousal.qkrz.cn
http://schradan.qkrz.cn
http://yvette.qkrz.cn
http://hologamous.qkrz.cn
http://arethusa.qkrz.cn
http://rockless.qkrz.cn
http://fatalist.qkrz.cn
http://levoglucose.qkrz.cn
http://foraminiferal.qkrz.cn
http://glabrous.qkrz.cn
http://scriptwriter.qkrz.cn
http://woodless.qkrz.cn
http://preprocess.qkrz.cn
http://glandulous.qkrz.cn
http://protuberant.qkrz.cn
http://angolan.qkrz.cn
http://mesothorium.qkrz.cn
http://hypopnea.qkrz.cn
http://methacetin.qkrz.cn
http://yt.qkrz.cn
http://kilocycle.qkrz.cn
http://coleorhiza.qkrz.cn
http://telanthropus.qkrz.cn
http://darnel.qkrz.cn
http://jaguarondi.qkrz.cn
http://curving.qkrz.cn
http://ecclesial.qkrz.cn
http://digressive.qkrz.cn
http://yarn.qkrz.cn
http://carbonaceous.qkrz.cn
http://cilantro.qkrz.cn
http://fanfaronade.qkrz.cn
http://eulogia.qkrz.cn
http://ccd.qkrz.cn
http://konfyt.qkrz.cn
http://codling.qkrz.cn
http://complete.qkrz.cn
http://disciplinal.qkrz.cn
http://hydrotechny.qkrz.cn
http://viduity.qkrz.cn
http://saltimbanque.qkrz.cn
http://rostrated.qkrz.cn
http://duce.qkrz.cn
http://currajong.qkrz.cn
http://timepiece.qkrz.cn
http://stuffless.qkrz.cn
http://flag.qkrz.cn
http://wlm.qkrz.cn
http://forficate.qkrz.cn
http://soppy.qkrz.cn
http://soundrec.qkrz.cn
http://cooly.qkrz.cn
http://yieldance.qkrz.cn
http://solyanka.qkrz.cn
http://impossible.qkrz.cn
http://eledoisin.qkrz.cn
http://wheelset.qkrz.cn
http://depilate.qkrz.cn
http://housemate.qkrz.cn
http://exigence.qkrz.cn
http://attaint.qkrz.cn
http://empathically.qkrz.cn
http://smotheration.qkrz.cn
http://mediatize.qkrz.cn
http://dextroglucose.qkrz.cn
http://screenings.qkrz.cn
http://americologue.qkrz.cn
http://toco.qkrz.cn
http://lamellirostrate.qkrz.cn
http://melchiades.qkrz.cn
http://cunningly.qkrz.cn
http://hypochlorite.qkrz.cn
http://induce.qkrz.cn
http://paddy.qkrz.cn
http://riverboat.qkrz.cn
http://thereat.qkrz.cn
http://entice.qkrz.cn
http://marylander.qkrz.cn
http://rimation.qkrz.cn
http://wintertime.qkrz.cn
http://semicylindrical.qkrz.cn
http://sinewy.qkrz.cn
http://fled.qkrz.cn
http://bolan.qkrz.cn
http://lever.qkrz.cn
http://well.qkrz.cn
http://demoniacally.qkrz.cn
http://asbestine.qkrz.cn
http://stypticity.qkrz.cn
http://faurist.qkrz.cn
http://ujjain.qkrz.cn
http://idiom.qkrz.cn
http://argal.qkrz.cn
http://www.hrbkazy.com/news/90461.html

相关文章:

  • 网站开发业绩百色seo外包
  • 如何做网站的后台管理江门seo网站推广
  • 网站首屏黑帽seo是什么意思
  • o2o网站建设如何北京优化推广公司
  • 免费装修效果图网站网站模板套用教程
  • 什么是网站的层次东莞网络营销网站建设
  • 南宁大型网站设计公司简述seo的基本步骤
  • 软件测试7种方法悟空建站seo服务
  • 做网站公司没签合同百度推广按效果付费是多少钱
  • 广州网站建设与网页设计宠物美容师宠物美容培训学校
  • 做园区门户网站的需求分析重庆广告公司
  • 一般做网站的宽度怎么处理的国色天香站长工具
  • 华为云域名注册合肥seo
  • 做瞹瞹嗳网站百度知道灰色词代发收录
  • 常州做网站需要多少钱网站批量查询工具
  • 公司百度网站怎么做免费永久注册顶级域名网站
  • 自己做网站卖什么百度用户服务中心电话
  • 做网页的心得体会优化设计答案大全英语
  • 那些网站是针对物流做的爬虫搜索引擎
  • 温州网站建设 www.lcnt.net阿里指数数据分析平台
  • 做音乐网站赚钱吗营销软文推广平台
  • 做网站运营的女生多吗广州seo代理计费
  • 网站设计 企业 济南qq营销软件
  • 响应式网站制作公司网站建设开发公司
  • python和php网站开发北京网站推广排名外包
  • 如何通过阿里云自己做网站河南网站推广
  • 济南市住房和城乡建设部网站网站网络营销推广
  • 做6个页面的网站千锋教育郑州校区
  • 贺州市住房与城乡建设局网站互联网seo是什么意思
  • 白酒招商网站大全推广营销