• 5965阅读
  • 6回复

求助!!!标记住两幅图的不同之处~~ [复制链接]

上一主题 下一主题
离线zhoulujue
 

只看楼主 倒序阅读 楼主  发表于: 2011-03-07
大家来找茬儿,这个游戏大家玩儿过吧。我想做个能把这两幅图不同之处找出来的软件。
我的想法是:
1、用QImage.load载入两幅图image1和image2,生成一张空白图片image3
2、把image1和image2按像素比对,如果相同的坐标处他们的RGB值相同,那么image3相应的像素点画这个相同的RGB值。
3、如果不同,那么在这个像素点画上特殊颜色标记出来,不如说红色。

预想的效果是:生成的第三张图中,不同的地方用红色高亮表示,相同的地方没有动。

我遇到的问题
1、在人眼看来相同的两个部分,在细节上的像素排布有着细微的差别,在计算机看来,这就是完全不同。所以比较的效果非常差。虽然主要的部分有大块红色出现,但是其他地方有噪点,有很多散漫的红色点。

2、算法不够好,需要优化算法。我是按像素点扫描的:
for(x=0;x<maxrow;x++)
{
     for(y=0;y<maxcolumn;y++)                                   //这是nXn的计算量。如果是800X800的图,就计算了160000次
      //..........比较图片的代码
}

离线radium_sql

只看该作者 1楼 发表于: 2011-03-07
我的一个想法是不要用你自己写的比较,而是把这两张图片用QPainter进行一些相关的组合,那个Qt里面有一个例子,你可以去参考一下。。。就是把一个蝴蝶图案和对角方块进行合成的例子,可以借用一下。。。

是Qt example中的Painting中的Image Composition。好像速度很快。。。。
QT什么时候替代MFC?
离线roywillow

只看该作者 2楼 发表于: 2011-03-07
这种东西应该属于算法方面的吧,需要学一些算法才能解决的吧
毕竟图像识别这种东西让计算机来做本身就不简单……
或许会用到傅里叶频谱?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zhoulujue

只看该作者 3楼 发表于: 2011-03-09
回 1楼(radium_sql) 的帖子
太棒了!感谢大师的指点!能给一下链接吗?
离线zhoulujue

只看该作者 4楼 发表于: 2011-03-09
回 1楼(radium_sql) 的帖子
你说的是Qt Demo里面的那个东西么?
离线radium_sql

只看该作者 5楼 发表于: 2011-03-11
回 4楼(zhoulujue) 的帖子
是Qt Demo里的。我还试着比对了一下,发现那个different运算应该是你想要的。
QT什么时候替代MFC?
离线zhoulujue

只看该作者 6楼 发表于: 2011-03-22
回 5楼(radium_sql) 的帖子
实在是太感谢了,在你的引导下,已经做出来了!!!
快速回复
限100 字节
 
上一个 下一个