根据这篇文章OCR和OpenCV:两帧在高分辨率图像上的区别,我现在能够正确地检测到OpenCV视频的两个帧之间的差异。
我现在尝试用不同的数据来调优这个算法。通常,在下面的三张图片上,我只得到绿线作为区别,而不是文本(这才是最有趣的)。我在试着更好地理解事情是如何发生的。
1图像:

2图像:

3图像:

正如您所看到的,我只有那些绿线,而没有文本(在引用的帖子上,当从算法中减去countoursi.size()时,我最多只能有一个字母)
原始PNG图像:第一图像 第二图像
发布于 2015-12-18 09:49:06
如果您使用的代码来自您的链接问题的答案-这是相当期待的。回答者建议你去除噪音,在封闭轮廓的凸包中找出轮廓和提取区域。但是,大多数的差异,是小而薄,将消除后,这种过滤。
尝试做一个简单的减去您的输入图像-它可能会更好。如果不是这样的话,我们将努力改进它。
编辑:
这个简单的代码似乎完成了以下工作:
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat a = imread("a.jpg");
Mat b = imread("b.jpg");
Mat diff;
absdiff(a, b, diff);
imwrite("c.jpg", diff);
imshow("diff", diff);
waitKey();
return 0;
}结果:

https://stackoverflow.com/questions/34352216
复制相似问题