当前位置: 首页 > 工具软件 > Inpaint > 使用案例 >

OpenCV每日函数 计算摄影模块(1) 图像修复算法 inpaint函数

鄢翰藻
2023-12-01

一、概述

        该算法使用区域邻域恢复图像中的选定区域。该功能可用于去除扫描照片上的灰尘和划痕,或去除静止图像或视频中不需要的物体。

二、inpaint函数

1、函数原型

void 	cv::inpaint (InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags)

2、参数详解

src 输入 8 位、16 位无符号或 32 位浮点 1 通道或 8 位 3 通道图像。
inpaintMask 修复蒙版,8 位 1 通道图像。 非零像素表示需要修复的区域。
dst 输出与 src 大小和类型相同的图像
inpaintRadius 算法考虑的每个修复点的圆形邻域的半径。
flags 可以是 cv::INPAINT_NS 或 cv::INPAINT_TELEA 的修复方法

三、OpenCV源码

1、源码路径

opencv\modules\photo\src\inpaint.cpp

2、源码代码

static void
icvInpaint( const CvArr* _input_img, const CvArr* _inpaint_mask, CvArr* _output_img,
           double inpaintRange, int flags )
{
    cv::Ptr<CvMat> mask, band, f, t, out;
    cv::Ptr<C
 类似资料: