【发布时间】:2016-10-02 06:55:14
【问题描述】:
我想知道是否有一种方法可以确定两张图片是否相同(我知道有很多关于该主题的帖子),但也有可能一张图片是压缩版本另一张图片的...
This post 还要求提供一个进行图像处理和比较的 C# 库,但我不确定库需要什么样的函数来提供这种特定的匹配。另一方面,This post 是一种方式抽象。 我读过关于OpenCV(或this .NET wrapper)的文章,但我没有这方面的经验,如果不应用that post I didn't understand myself 的抽象,我不确定它是否会做我想做的事。我意思是,OpenCV 可能能够进行所需的计算,它似乎是一个非常强大的工具,但对于看似简单的要求来说似乎有点复杂。或者这实际上更复杂并且像 OpenCV 之类的方法要走吗? (如果是,怎么做?)
那么,我将如何实现这一目标?
【问题讨论】:
-
将它们加载为位图并检查每个像素的颜色?耗费体力。可能是一个非常糟糕的建议,但仍然是一个建议。
-
除非您有特殊定义,如果位图相同,您需要比较(未压缩)位图的所有像素。一定要使用 LockBits 或 unsafe 以获得适当的速度!
-
如果它们是照片(即不是主要是一种颜色的线条图),那么您可能会在每个图像的相应位置采样几千个随机位置并使用差异平方和进行比较。 .这也可以很容易地用于调整大小的图像。
标签: c# .net image image-processing