如何在一个二维平面上去寻找是否存在某个图形?
有两张图片(bmp格式的)A.bmp是从B.bmp中截取出来的一部分现在想编写一个函数实现这样的功能:
读入两张BMP图片,
然后判断A.bmp是否是B.bmp中的一部分看模式匹配看了好久都没搞懂.因为他们讲的都是理论
有没有哪位高人给点源码(注释下更好~~~)
模式匹配弄得人头晕晕.....要是不用也能实现那多好啊~~~
盼望.....
有两张图片(bmp格式的)A.bmp是从B.bmp中截取出来的一部分现在想编写一个函数实现这样的功能:
读入两张BMP图片,
然后判断A.bmp是否是B.bmp中的一部分看模式匹配看了好久都没搞懂.因为他们讲的都是理论
有没有哪位高人给点源码(注释下更好~~~)
模式匹配弄得人头晕晕.....要是不用也能实现那多好啊~~~
盼望.....
假设两图象都是矩形的;假设图象没有经过旋转,即只有平行移动,假设A[m1][m2]是存放A.bmp图象所有象素的结构数组,B[n1][n2]是存放B.bmp图象所有象素的结构数组,那么简单的从B[n1][n2]中查找是否存在A[m1][m2]即可。(用矩阵表示就是是否存在子阵)如果图象经过了旋转和平移,那可以将B.bmp先按照不同角度进行旋转,得到新的图象,在用上面方法尝试,要尝试各种角度的吆!实际这样做太低效率了。如果A.bmp有明显、特别的标记,比如一个圆形或十字等,就先从这些标记开始查找。提高效率。
我现在的想法是这样的.
如下图所示:
在先把A.bmp中边框和对角线的像素读出来放到数组里.
然后以此为特征在B.bmp里进行搜索
呵呵,有点像杀毒软件的特征码扫描算法吧.. ------/--
| \ / |
| \/ |
| / \
__/____\|等我把代码编好后
一定贴上来