将压缩图像与原始

时间:2016-06-02 13:37:09

标签: c# .net image image-processing

我想知道是否有办法可以确定两张图片是否相同(我知道该主题上有很多帖子),但也有可能是一张图片是另一个图像的压缩版本......

This post还要求进行图像处理和比较的C#库,但我不确定库提供此特定匹配所需的函数类型。This post另一方面是抽象的方式。 我已经阅读了OpenCV(或this .NET wrapper),但我对此没有任何经验,而且我不确定它是否会在不应用{的抽象的情况下做我想做的事情{3}} that post I didn't understand ..我的意思是,OpenCV可能能够进行必要的计算,它似乎是一个非常强大的工具,但对于看似简单的要求似乎有点复杂..或者这实际上更多复杂并且是OpenCV的方式吗? (如果是的话,怎么样?)

那么,我将如何实现这一目标呢?

1 个答案:

答案 0 :(得分:2)

您可以尝试的一个简单路径是AForge .NET库。它完全是.NET实现,所以不用担心环境设置,并具有以下功能,可能适合您的情况:

ExhaustiveTemplateMatching Class

“该类实现了详尽的模板匹配算法,该算法对源图像进行完整扫描,将每个像素与模板的相应像素进行比较。该类还可用于获得两个图像之间的相似度。相同大小,这对于获取有关图像的不同/相似之处的信息非常有用“

http://www.aforgenet.com/framework/docs/html/17494328-ef0c-dc83-1bc3-907b7b75039f.htm

// create template matching algorithm's instance
// use zero similarity to make sure algorithm will provide anything
ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching(0);

// compare two images
TemplateMatch[] matchings = tm.ProcessImage(image1, image2);
// check similarity level
if (matchings[0].Similarity > 0.95f)
{
    // do something with quite similar images
}