当前位置:  开发笔记 > 编程语言 > 正文

使用Java识别2个相同的图像

如何解决《使用Java识别2个相同的图像》经验,为你挑选了2个好方法。

我的网络抓取工具有问题,我试图从特定网站检索图像.问题是我经常看到的图像完全相同但URL不同,即它们的地址.

是否有任何Java库或实用程序可以识别2个图像的内容是否完全相同(即在像素级别).

我的输入将是我可以下载它们的图像的URL.



1> HipsterZipst..:

我之前在Java中做过类似的事情,我发现api 的java.awt.image包里面的PixelGrabber类非常有用(如果不是非常必要的话).

此外,您肯定想要查看ColorConvertOp类,它可以对源图像中的数据执行逐像素颜色转换,并将生成的颜色值缩放到目标图像的精度.文档继续说,图像甚至可以是相同的图像,在这种情况下,检测它们是否相同是非常简单的.

如果您正在检测相似性,则需要使用某种形式的平均方法,如此问题的答案中所述

如果可以的话,还可以查看Horstman的Core Java(第8版)第2卷第7章,因为有很多关于图像转换等的例子,但同样要确保在java.awt.image包中找到它,因为你应该会发现你几乎为你准备好了一切:)

G'luck!



2> TofuBeer..:

取决于您想要的详细程度:

下载图像

当你下载它时会为它生成一个哈希值

创建目录名是哈希值的目录(如果目录不存在)

如果目录包含2个或更多文件,则比较文件大小

如果文件大小相同,则将图像与文件中图像的字节进行逐字节比较

如果字节是唯一的,那么你有一个新的图像

无论你是否想要做所有这些,你都需要:

下载图像

对图像进行逐字节比较

无需依赖任何特殊的成像库,图像只是字节.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有