void inpaint(
InputArray src,
InputArray inpaintMask,
OutputArray dst,
double inpaintRadius,
int flags
);
参数
src 输入8位或16位无符号或32位浮点型1通道或8位3通道图像。
inpaintMask 图像的掩码,单通道图像,大小跟原图像一致,inpaintMask图像上除了需要修复的部分之外其他部分的像素值全部为0;
dst 输出的经过修复的图像;
inpaintRadius 修复算法取的邻域半径,用于计算当前像素点的差值;
flag 修复算法,有两种:INPAINT_NS 和I NPAINT_TELEA;
注意:输入可以是RGB图像,但是mask必须是单通道;inpaint函数是对mask非0元素进行修复,因此从原图像中提取出需要修复的区域是本函数的核心。(阈值函数与边缘提取函数很重要)
inpaint函数
对水面波图片进行处理
因为阳光照射引起的反射使得图片某些区域过亮,现在通过算法对过亮区域进行处理,尽可能不影响其他区域。
假设1、
过亮的点相当于椒盐噪声,可使用大窗口的中值滤波器进行过滤。
亮点确实除去,但是其他区域也会变得模糊,可能会对后续处理造成影响。
假设2、
先对图片进行3*3的小窗口中值滤波,再进行像素遍历,对大于某像素值的