社区
C#
帖子详情
怎样用程序判断两张图片是否相同?
cystudio
2010-10-15 02:00:11
我有两张一模一样的jpg图片,怎么样用程序比对这两张图片是否相同?
我把这两张图片用二进制读出来,却有一小部份byte不相同
如果把这两张图片都转成bmp格式后,再比对二进制流,就全相同了,这是为什么?
...全文
1468
15
打赏
收藏
怎样用程序判断两张图片是否相同?
我有两张一模一样的jpg图片,怎么样用程序比对这两张图片是否相同? 我把这两张图片用二进制读出来,却有一小部份byte不相同 如果把这两张图片都转成bmp格式后,再比对二进制流,就全相同了,这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vs_jymao
2011-11-02
打赏
举报
回复
正想看呢.
jimh
2010-10-15
打赏
举报
回复
[Quote=引用 8 楼 fthmko 的回复:]
对比我就不说了。
两个jpg如果是copy出来的,那肯定一样。
如果仅内容相同,但来源不同的话,可能是因为jpg文件头、jpg编码版本不同。
jpg中不仅有图像数据,还有一些附加信息,如exif等。bmp就没有。
[/Quote]
所以,还需要了解jpg文件格式,把文件其他信息去掉,但图片格式有很多,如果还有gif等格式呢?一个一个枚举太麻烦了,最后找一款软件,先把所有文件转成raw文件格式,这是最原始的文件格式,计算一个md5来比较就可以了,为什么不用bmp呢,因为bmp还是有颜色转换表等数据,可以不一样的的转换表,但结果一样。只有raw才是最原始的像素表达方式,就是文件大了一点。
cystudio
2010-10-15
打赏
举报
回复
[Quote=引用 8 楼 fthmko 的回复:]
对比我就不说了。
两个jpg如果是copy出来的,那肯定一样。
如果仅内容相同,但来源不同的话,可能是因为jpg文件头、jpg编码版本不同。
jpg中不仅有图像数据,还有一些附加信息,如exif等。bmp就没有。
[/Quote]
jpg的文件头有多少位?用byte取出来,多少位之后是图像信息
臭写代码的
2010-10-15
打赏
举报
回复
理论上没有完全相同的两种图片。
zhuxi89
2010-10-15
打赏
举报
回复
学习中,
Olive_Guo
2010-10-15
打赏
举报
回复
学习,关注中…
fthmko
2010-10-15
打赏
举报
回复
对比我就不说了。
两个jpg如果是copy出来的,那肯定一样。
如果仅内容相同,但来源不同的话,可能是因为jpg文件头、jpg编码版本不同。
jpg中不仅有图像数据,还有一些附加信息,如exif等。bmp就没有。
wuyq11
2010-10-15
打赏
举报
回复
http://topic.csdn.net/u/20100719/11/d73546e3-f830-48a5-b307-3ec3070c304d.html
cystudio
2010-10-15
打赏
举报
回复
[Quote=引用 1 楼 luminji 的回复:]
想要判断两张图片是否相同,求文件的HASH就行。
[/Quote]
试过了,算出来的hash码也不同
[Quote=引用 2 楼 jason_dct 的回复:]
二进制不行吧, 只能用像素试试。 B超和CT 图像时这么搞的,但是 那个Dcom格式的。
[/Quote]
像素怎么取?有没有代码片段
_Static_
2010-10-15
打赏
举报
回复
虽然不知道,但期待答案。。。。。
totodele
2010-10-15
打赏
举报
回复
坐等高手!
xiaotiange
2010-10-15
打赏
举报
回复
我认为,转换成十六进制码比较
段传涛
2010-10-15
打赏
举报
回复
二进制不行吧, 只能用像素试试。 B超和CT 图像时这么搞的,但是 那个Dcom格式的。
码农星球撸码J
2010-10-15
打赏
举报
回复
想要判断两张图片是否相同,求文件的HASH就行。
瞎写的一些函数
package java2.pack1; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Arrays; import java.util.Objects; /** * Created by fhqplzj on 16-10-21 at 下午10
opencv_
判断
两张
图片
是否
相同
OpenCV介绍OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。
Pillow教程:对比
两张
图片
是否
相同
如果你需要更复杂的图像比较功能(例如,比较图像的视觉相似性而不是像素值),你可能需要使用更专门的图像处理或计算机视觉库。Pillow(PIL的一个分支)是一个强大的Python图像处理库,但它本身并不直接提供比较
两张
图片
是否
完全
相同
的函数。Pillow教程02:
图片
的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)---------------Pillow教程集合-------------------------★★历史博文集合★★----------3.比较
两张
图片
的每个像素值。
python
判断
两张
图片
是否
一样。
python
判断
两张
图片
是否
相同
怎么看
两张
图片
的相似度,
判断
两张
图片
的相似度
计算出灰度 YB[j][i] = 0.3*R + 0.59*G + 0.11*B计算 一点 的 相似系数,例如 灰度差除以两点平均灰度:fabs(YA[j][i]-YB[j][i]) / ((YA[j][i]+YB[j][i])/2.0) -- 数值越小越相似}有了所有点的相似系数,做统计算,例如,把相似系数分20档,计算落入各档的像素点的个数--就是概率啦。3、点击左侧的‘本地上传’按钮,上传本地照片1。AI是绘图最好的帮手,勾线,绘图,比如插画类型的,其工具的试用度更强,实时上色更为方便。
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章