比较低质量的两张图像

时间:2013-07-29 05:48:23

标签: c# image opencv compare emgucv

我正在研究一种算法来提取具有不同质量的两个图像之间的差异,例如你有一个由设计师创建的photoshop文件,然后你用一些设备将它打印出来并且你已经扫描它并将其保存为bmp文件。 主要问题是我们如何比较这两个图像? 不可能两个像素逐个比较,因为在scaned版本中许多对象已经改变,例如线条变得更粗。 我的想法是在两个图像中找到任何形状,然后根据位置和其他形状特征进行比较,但主要问题是在低质量图像中变得难以比较。因为质量低,我们有噪音,噪音消除了一些形状会迷路。例如,当我使用打开和关闭或形态滤镜时,我会丢失一些字符,如“i Q O 0”或其他形状。你的意见是什么?

2 个答案:

答案 0 :(得分:1)

你有image1&必须比较的图像2。在两个图像中通过霍夫变换找到角落,然后通过角落注册两个图像。您可以使用findhomogrphy()。现在两个图像的大小相同。在最后,您可以使用matchTemplate()进行查找两张图片之间的差异。

答案 1 :(得分:0)

@Mostafa Sataki的建议听起来不错。另一种方法是按照建议对齐图像,然后使用相似性度量,例如MSE or PSNR

另一种可能性是从两张图片中尝试match keypoints,看看它们是否是同一张图像。