源码:
#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
using namespace cv;
using namespace std;
Mat img, inpaintMask;
Point prevPt(-1,-1);
int _tmain(int argc, _TCHAR* argv[])
{
/*IplImage* pimg = cvLoadImage( "fruits.jpg" );
Mat img0( pimg,1); */
const char* filename ="fruits.jpg";
const char* wmbk ="watermark.jpg";
Mat img0 = imread(filename,-1);
if(img0.empty())
{
cout << "Couldn't open the image "<<filename<<"and"<<inpaintMask << "!!!!!!!!!!!!!! Usage: inpaint <image_name>\n" << endl;
return 0;
}
help();
namedWindow( "image", 1 );
imshow("image",img0);
img = img0.clone();
/* inpaintMask = Mat::zeros(img.size(), CV_8U);*/
Mat inpaintMask = imread(wmbk,-1);
Mat inpainted =cvCreateMat(img0.rows, img0.cols, CV_8UC1);
inpaint(img, inpaintMask, inpainted, 3, CV_INPAINT_TELEA);//inpaintMask是我用ps提取的水印蒙版
imshow("inpainted image", inpainted);
return 0;
}
34 个解决方案
#1
只能顶了。
#2
jf升星星
#3
太专业了,帮顶。
#4
OPENCV都么听过啊...顶下,话说要是CCAV还可能了解点..
#5
mark!
#6
帮顶了~
#7
学习一下啊
#8
那就顶了。。。
#9
顶一下
#10
帮顶~
#11
MARK
#12
学习一下啊
#13
帮顶一下
#14
顶
不懂啊
不懂啊
#15
图像处理新手,只能绑定了~~
#16
谁知道inpaint的算法原理,也可以在这里给大家讲解一下,谢了!!!!
#17
真的?
#18
是真的,技术讨论,希望共同进步!
#19
顶一个吧,等大神来啊。。。
#20
没接触过数字水印。
#21
ding
#22
不懂,帮顶
#23
希望大牛出现啊!!!!
#24
帮顶,学习
#25
mark~·
#26
只有顶起啦!!
#27
Opencv的大牛啊,你就现身吧!
#28
这个必须得顶!!!
#29
只能接分了
#30
谢谢各位,没有大牛,咱自己就要努力成为大牛。问题解决了,产生上述问题的原因即是算法差值时周围点有其他值存在,只要你将mask做成单通道的,就可以解决改问题了!
#31
顶一下
#32
用过一段时间OPENCV做视频监控,对图像的处理算法没有过多研究,爱莫能助啊,抱歉啦
#33
顶楼主了!
#34
#1
只能顶了。
#2
jf升星星
#3
太专业了,帮顶。
#4
OPENCV都么听过啊...顶下,话说要是CCAV还可能了解点..
#5
mark!
#6
帮顶了~
#7
学习一下啊
#8
那就顶了。。。
#9
顶一下
#10
帮顶~
#11
MARK
#12
学习一下啊
#13
帮顶一下
#14
顶
不懂啊
不懂啊
#15
图像处理新手,只能绑定了~~
#16
谁知道inpaint的算法原理,也可以在这里给大家讲解一下,谢了!!!!
#17
真的?
#18
是真的,技术讨论,希望共同进步!
#19
顶一个吧,等大神来啊。。。
#20
没接触过数字水印。
#21
ding
#22
不懂,帮顶
#23
希望大牛出现啊!!!!
#24
帮顶,学习
#25
mark~·
#26
只有顶起啦!!
#27
Opencv的大牛啊,你就现身吧!
#28
这个必须得顶!!!
#29
只能接分了
#30
谢谢各位,没有大牛,咱自己就要努力成为大牛。问题解决了,产生上述问题的原因即是算法差值时周围点有其他值存在,只要你将mask做成单通道的,就可以解决改问题了!
#31
顶一下
#32
用过一段时间OPENCV做视频监控,对图像的处理算法没有过多研究,爱莫能助啊,抱歉啦
#33
顶楼主了!