用C++或C语言实现图象识别

Python015

用C++或C语言实现图象识别,第1张

1.将全部三个图像的 BMP 24Bits 全彩色位图数据整理成 long 型,BMP_Color_Data[i*m + j] = 65536*Blu[m][n] + 256*Gre[m][n] + Red[m][n] ...........二维图像数据保存成一维的 long 型数据串。

2.将小图像的位图数据按照大位图数据的行数为“周期” T 扫描,即将小位图的第一行 long 数据串作为样本,在大位图数据中寻找匹配段:如果有,则记录“部分匹配标志(即部分包含,交集关系)”按照那个周期 T 直接到下一“段”检查是否匹配,直至扫描完全样本数的段,如果全部符合匹配条件,则置“完全匹配标志(即完全包含,子集关系)”....在此任何段中,如果不匹配,则 break ;

3.结论:有交集关系则为部分包含,有子集关系则有完全包含。

起始坐标比较好计算,即开始数据串的位置数,分解成大图的行列数。

你说用c语言是说直接用c的语法但是不用API吗? 如果是的话你需要对BMP格式进行剖析 分析BMP的格式,这个我没有办法 但是用Windows API的话我可以给点思路你.

LoadBitmap //获取图片文件句柄

GetObject //传入一个BITMAP结构 获取位图的信息 比如:长宽高

GetBitmapBits//获取像素点

//对保存像素点缓冲区进行修改

SetBitmapBits //修改像素

没有什么基于C语言的图像识别材料的,图像识别技术大多讲的都是各种算法。建议搜索一些OpenCV相关的资料,里面会有相关图像识别的内容。个人感觉用OpenCV来入门学习图像识别技术比较好,因为它把复杂的算法封装成API函数了,理解起来比那些枯燥的图像算法书籍要容易的多,因为后者更像是一本数学书,看起来费劲而且容易厌烦。等把OpenCV用熟,需要改某个API函数时,再去理解算法就容易的多

(以上是个人经验)