我的网络抓取工具有问题,我试图从特定网站检索图像.问题是我经常看到的图像完全相同但URL不同,即它们的地址.
是否有任何Java库或实用程序可以识别2个图像的内容是否完全相同(即在像素级别).
我的输入将是我可以下载它们的图像的URL.
我正在使用Python和PIL.
我有RGB图像,我想知道那些只包含一种颜色(例如#FF0000)或一些非常接近的颜色(#FF0000和#FF0001)的图像.
我正在考虑使用直方图,但很难找到3个色带的东西,所以我正在寻找一个更聪明的算法.
有任何想法吗?
ImageStat模块就是答案!谢谢亚伦.我使用ImageStat.var来获得方差,它完美地运行.
这是我的一段代码:
from PIL import Image, ImageStat
MONOCHROMATIC_MAX_VARIANCE = 0.005
def is_monochromatic_image(src):
v = ImageStat.Stat(Image.open(src)).var
return reduce(lambda x, y: x and y < MONOCHROMATIC_MAX_VARIANCE, v, True)
Run Code Online (Sandbox Code Playgroud)