首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

opencv教程-图像去噪与修复

1:图像去噪

前面说了几种图像平滑和去噪算法,这次主要说下非局部均值去噪算法,然后跟其它几种去噪算法做下对比。

非局部均值去噪共有4个接口:

(1)cv.fastNlMeansDenoising() - 单张灰度图

(2)cv.fastNlMeansDenoisingColored() - 单张彩色图

(3)cv.fastNlMeansDenoisingMulti() - 多张灰度图

(4)cv.fastNlMeansDenoisingColoredMulti() - 多张彩色图

从接口可以看出,非局部均值去噪与其它去噪算法相比可以输入多张图片提取信息然后再去噪。

基本原理:当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到;注意这里提到的相似邻域结构,比如帽子的边缘点和边缘点就是相似邻域结构,而像均值滤波就是取邻域的所有像素赋予相同的权重,而非局部均值则是在一定范围内找到该像素点的相似邻域结构,并依据相似性确定权重。

下面是具体实现和效果对比:

2:图像修复

cv.inpaint(src, inpaintMask, inpaintRadius, flags[, dst])

主要参数:

src:输入图像

inpaintMask:要修复区域的掩膜图像(灰度图,非0的是要修复的区域)

inpaintRadius:修复当前点要考虑的邻域半径

flags:2种修复算法cv::INPAINT_NS 和 cv::INPAINT_TELEA

基本原理:每次都先处理修复区域的边界,而对边界点的修复依据最近的非修复区域的像素来进行加权处理,迭代至修复完毕。

其中掩膜图像要自己事先准备好,也可以用鼠标+放大镜来边选择要修复的区域边处理,类似很多图像处理软件中的p图。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210115A0CKOT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券