| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10611 人关注过本帖
标题:2张图片如何对比的问题
只看楼主 加入收藏
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
 问题点数:0 回复次数:149 
2张图片如何对比的问题
想请教大家,我要对2张图片进行对比,确定他们的相似度,然后做下一步的工作,
请问,如何实现这样的功能呢,都需要用到什么样的函数知识呢,
第一次做这个,无法下手,因为我一点也不会,
请大家给点建议把 ~~~谢谢了.
搜索更多相关主题的帖子: 下一步 
2005-09-27 21:13
三只蝴蝶
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-9-16
收藏
得分:0 
你要比较它们的相似度,具体要比较什么?分辨率,象素,大小还是其他什么?

2005-09-27 21:17
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
因该是比较它们的象素把,
就象找别扭那样,2个图片基本上是一样的,只有极少的几点不一样,
现在我要把他们不一样的地方找出来,
请问我现在该咋做呢,
该用什么 方法呢,请指点一下把


2005-09-27 23:57
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
图像格式如果不一致, 文件大小如果不一致, 就很难处理了.

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-28 03:38
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
图象格式当然是一样的,文件大小也有办法变成大小一样的,只是它们之间图案有点差别,
我现在就想把他们的差别找出来,
我的想法是,先把2张图片转变成象素2进制代码,然后在对比它们之间的差别,
大家认为这个方法行吗,
我真的不懂这个,这个想法是 我胡乱猜的.请大家继续指点,谢谢

2005-09-28 11:52
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
如果文件的格式一样,大小也一样,只是某几个Pixel 不同,那就很好处理了。
你5楼的想法是可行的,你还得用到图像格式的知识,比如图片中的一个像素由几个Bit来表示。
不知道有没有现成的class 可以用。 一般这种图像处理的 class, 外面很难搞到,网上也看不到。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-28 12:47
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
斑竹说的是,我搜索了2天,这样的class是没有的,
我现在的问题是不知道如何把图片变成像素表,
有没有用现成的函数呢,还是必须自己写程序呢,
变成像素表后,有没有什么图片像素对比的函数可以用呢
请斑竹继续指点,我没有弄过这个,可以说一窍不通,
~麻烦了`````````

2005-09-28 14:02
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
建议你将图像转换成BMP格式,这个格式最好处理。
你首先要知道文件的格式的表达方式,BMP 格式有一个说明部分和图像信息部分。打开文件后,先按照原文件的大小建立一个内存空间,将指针跳到图像信息部分,你需要两个指针,分别指向两个文件的信息部分,然后按照图像格式,来读文件,如果是8个Bit 表示一个像素,那么你就一个Byte 一读,如果相同,就将第三幅图置白,RGB全部为1,也就是(255,255,255) 就是白色。 如果不同就将该点置红,(255,0,0)这样最后你得到一幅新的图,一看那幅新的图,你就知道哪里不相同了。因为相同的地方全部是白色,而不相同的地方为红色。

还有的做法,就是不改动相同的地方,也不改动不相同的地方。但是一旦你发现一个不一致的地方,就将该处的地址记录下来,待图像全部扫描完毕之后,再回到图像中,在不一致的地方的周围画个圆圈,这样你一眼就可以看出来那些不一致的地方。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-28 14:33
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
真是非常感谢斑竹花这么多的文字来讲解.
好象你说的第二种方法比较适合我.
我具体的问题是这样的,
有1张图上画着一只猫和一条鱼,还有一张小图上只画着那条鱼,
然后把 第2张图和第一张图进行对比,
现在我要从2张图对比出那条鱼在第一张图上具体的位置,或者来判断第一张图上有没有鱼,
然后根据有没有鱼,或者鱼的位置来进行以后的工作.
如果没有,接着对比第3张,第4张等等图,如果有,则确实他的具体坐标位置
这就是我想实现的功能,
不知道斑竹有没有其他的建议了,
我对这方面一点也不会,
如果没什么了,我就按照斑竹的话去做了,

2005-09-28 21:26
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
你要从一张图中找出你所要的信息,这道题有意思,很有难度。比那道商人摆渡的题有意思多了。这样的题多做做才是有意义的。

这样吧,就拿你的这道题,作为C++教室板块的第一道竞赛题。

题意就如你9楼所描述的。要求能给出所找对象在图片中的位置,即一个截取矩形的两对角坐标,并将该矩形突出显示出来,也就是说加亮该矩形的矩形框,矩形框的颜色与该矩形所在处的底色呈向反的颜色。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-29 09:40
快速回复:2张图片如何对比的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021499 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved