读书人

怎么在一个二维平面上去寻找是否存在某

发布时间: 2012-01-15 22:57:48 作者: rapoo

如何在一个二维平面上去寻找是否存在某个图形
如何在一个二维平面上去寻找是否存在某个图形?
有两张图片(bmp格式的)

A.bmp是从B.bmp中截取出来的一部分

现在想编写一个函数实现这样的功能:
读入两张BMP图片,
然后判断A.bmp是否是B.bmp中的一部分

看模式匹配看了好久都没搞懂.因为他们讲的都是理论
有没有哪位高人给点源码(注释下更好~~~)


模式匹配弄得人头晕晕.....要是不用也能实现那多好啊~~~
盼望.....

[解决办法]
拿A的第一行数据来搜索,如果查找到B中有一段数据匹配,则查找下一行的数据是否匹配,一直到A的最后一行则找到B中的A。
[解决办法]
根据条件:A.bmp是从B.bmp中截取出来的一部分
假设两图象都是矩形的;

假设图象没有经过旋转,即只有平行移动,假设A[m1][m2]是存放A.bmp图象所有象素的结构数组,B[n1][n2]是存放B.bmp图象所有象素的结构数组,那么简单的从B[n1][n2]中查找是否存在A[m1][m2]即可。(用矩阵表示就是是否存在子阵)

如果图象经过了旋转和平移,那可以将B.bmp先按照不同角度进行旋转,得到新的图象,在用上面方法尝试,要尝试各种角度的吆!实际这样做太低效率了。

如果A.bmp有明显、特别的标记,比如一个圆形或十字等,就先从这些标记开始查找。提高效率。


读书人网 >VC/MFC

热点推荐