实现图像修补、物体去除:inpaint 函数

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

  • src,输入图像,即源图像,填 Mat 类对象即可。但需是 8 位单通道或三通道图像。
  • inpaintMask,修复掩膜,为 8 位单通道图像。其中非零像素为需要修补的区域。
  • dst,输出图像,需要和源图像有相同的尺寸和类型。
  • inpaintRadius,圆形邻域半径。
  • flags,修补方法的标识符,两种选择:
标识符 说明
INPAINT_TELEA 基于 Navier-Stokes 方程的方法
INPAINT_NS Alexandru Telea 方法

代码示例:

//该程序功能为:消除鼠标选择的矩形区域内的物体
#include<opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
Mat src, back, dst;
Point pre, now;
bool draw = false;
RNG rngs = { };
Scalar colors;
void on_mouse(int event, int x, int y, int flags, void *param) {//鼠标操作响应函数
switch (event){
case EVENT_LBUTTONDOWN://按下左键
draw = true;
pre = Point(x, y);
break;
case EVENT_MOUSEMOVE://鼠标移动
if (draw) {
Mat tem = dst.clone();
now = Point(x, y);
colors = Scalar(rngs.uniform(, ), rngs.uniform(, ), rngs.uniform(, ));
rectangle(tem, pre, now, colors);
imshow("dst", tem);
}
break;
case EVENT_LBUTTONUP://左键抬起
draw = false;
rectangle(back, pre, now, Scalar(), -);//在 修复掩膜 图像中绘制选择区域
inpaint(dst, back, dst, , INPAINT_TELEA);//修复图像
imshow("dst", dst);
break;
}
}
int main() {
src = imread("C:/Users/齐明洋/Desktop/示例图片/1.jpg");
imshow("src", src); namedWindow("dst");
dst = src.clone();
imshow("dst", dst);
back = Mat::zeros(src.size(), CV_8UC1);//修复掩膜
setMouseCallback("dst", on_mouse);//https://www.cnblogs.com/bjxqmy/p/11914601.html waitKey();
}

效果演示:

最新文章

  1. C 语言学习 第二次作业总结
  2. oracle 11g 服务启动时提示1053错误,服务启动不了,重新配置监听解决问题
  3. 今天第一节PS课
  4. 转载 sql 存储过程与函数区别
  5. svn: E155004 &#39;XX&#39; is already locked
  6. iOS 重大新漏洞:可绕开苹果审核机制
  7. 方法----MessageDigest和DigestUtils加密算法
  8. Windows Azure免费空间如何搭建PHP网站/数据库、域名绑定
  9. Python串行运算、并行运算、多线程、多进程对比实验
  10. jsf2.0视频
  11. DWZ主从结构计算
  12. 通过匹配绑定select option的文本值 模糊匹配
  13. BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划( dp)
  14. Swift - 继承UIView实现自定义可视化组件(附记分牌样例)
  15. php实现socket推送技术
  16. [ Java学习基础 ] Java对象的创建和销毁
  17. python笔记一(语言简介、解释器、输入输出)
  18. Kafka~HelloWorld得来不易
  19. 【react】兄弟组件的通信方式,传统非redux
  20. Excel Open Xml中CellStyleXfs,cellStyle,cellXfs之间关系的总结

热门文章

  1. 总是在起头可是能怎么办呢 Python数据分析
  2. Java容器解析系列(15) HashTable Dictionary &amp; Properties
  3. reactNative-解决react native使用fetch函数 Network request failed 问题
  4. mysql---&gt;mysql慢查询
  5. Oracle:imp导入dmp文件
  6. 脚本在Shell可以执行成功,放到crontab里执行失败
  7. Boyer-Moore 算法 Leetcode169
  8. 1240: 函数strcmp的设计
  9. 微信小程序框架分析小练手(一)——猫眼电影底部标签导航制作
  10. 二、Linux系统硬链接和软链接详细介绍与实践