Opencv之实现图像修复intpaint()函数

本文介绍了OpenCV中的inpaint()函数,用于图像修复。详细讲解了CV_INPAINT_NS和CV_INPAINT_TELEA两种修复方法,并提供了Alexandru Telea的FMM算法背景。通过一个测试小程序展示了修复效果,结论是两种方法各有优势。
摘要由CSDN通过智能技术生成

无意中看到inpaint()这个函数,它具有图像修复功能,这个应该很有趣,故查找了相关资料,整理好并呈现在这里。

一、inpaint()函数介绍

void inpaint( const Mat& src, const Mat& inpaintMask,  
                         Mat& dst, double inpaintRange, int flags );
第一个参数InputArray类型的src,为8位单通道或者三通道图像的输入图像(要修复的图像);
第二个参数inpaintMask为修复掩膜,为8位单通道图像,其中非零像素表示要修补的区域;
第三个参数为dst,该函数的输出结果就放在这里,它和src图像类型是一样的;
第四个参数是double类型的inpaintRadius,需要修复点的附近的圆形区域,该值为修复区域的半径;
最后一个参数是int型的flags,为修补方法的标识符,两种修饰方法见下表:

标识符 说明
INPAINT_NS 基于Navier-Stokes方法
INPAINT_TEELEA A了先倒入Telea方法

CV_INPAINT_NS - 基于Navier-Stokes的方法。

比较难懂,贴个链接:

http://wenku.baidu.com/link?url=aut0V0I8ngmDiQOl6uvjZqAukhfAYeiF38C2-EMS8NScb5VKB3ZMBTpicbO7hU_22yP7zcH2Lz9PDVQrzOYWIthrLWBqYNRAvHCuSZqD6qa


  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值