opencv图像污点修复

本文详细介绍了如何利用OpenCV库进行图像污点修复。通过图像分割、填充算法以及基于像素的相似性匹配,实现了有效地去除图像中的污点并恢复图像的连续性和一致性。此外,还探讨了不同的修复策略及其在复杂场景下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数字修复可用来解决图形中小区域污染一重构图像,近年来被广泛应用再去出文本和Logo图标等场景中,利用重构去除图像中的画横和污点。常用于修复图像的算法是基于快速进行的修复算法,FMM。论文的名字是An Image Inpainting Technique Based on the Fast March Method.其原理思想是先修复待修复区域边缘上的点,软后扩大区域进行遍历,知道修复完所有待修复的图像像素。
void inpaint(InputArzhuwei ray src, InputArray inpaintMask, OutputAyyay dst, double inpaintRadius, int flags)
函数解析:
实现图像选定区域的修复。输入图像源src为8bit到通道或者3通道图像;inpaintMask为输入掩码图像,8bit单通道;输出图像dst与输入图像同大小同类型;inpaintRadius用于设定像素点修复领域半径;flag为修复算法类型选择;INPAINT_NS是Navier_Stokes提出。INPAINT_TELEA是Alexandru Telea提出的。
代码如下:
   
   
  1. #include "opencv2/highgui/highgui.hpp"
  2. #include "opencv2/imgproc/imgproc.hpp"
  3. #include "opencv2/opencv.hpp"
  4. #include "opencv2/core/core.hpp"
  5. #include <iostream>
  6. #include "opencv2/photo/photo.hpp"
  7. using namespace std;
  8. using namespace cv;
  9. Mat img, inpaintMask;
  10. Point prevPt(-1, -1);
  11. //鼠标点击绘制噪声
  12. static void onMouse(int event, int x, int y,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值