学习机器视觉必须掌握的Visual C++数字图像处理基础
文章目录 导读 BMP文件结构 基于MFC对话框编程实例 1. 基于MFC对话框新建项目 2. 添加BmpCenter类 3. 结果展示 导读 机器视觉是当前最火热的人工智能分支之一,借助Halcon、Opencv等视觉处理库可以快速开发出适应不同场合的算法。其中Opencv是一款开源的视觉库,源码是用C++编写,目前已更新到4.0以上版本。其丰富的库函数和开源性吸引着众多视觉开发人员,可以说,没有编程基础和图像处理理论知识的人,也可以在短时间内掌握其用法,只要根据库函数帮助文档调整参数,调用即可。但如果没有图像处理基础,很难真正理解opencv的原理,更别说实现自己设计的图像处理算法。于是,我们必须掌握图像在计算机中的数据存储方式,下面就以BMP文件格式分析其存储结构。 BMP文件结构 BMP文件是Windows存储图像的数据格式,其结构由BITMAPFILEHEADER、BITMAPINFOHEADER、RGBQUAD、位图数据四部分组成。前三种是结构体数据类型,均包含在Windows.h中。位图数据是真正的图像灰度数据。下面借助于MSDN剖析前三种结构体数据。 BITMAPFILEHEADER typedef struct tagBITMAPFILEHEADER { WORD bfType ; DWORD bfSize ; WORD bfReserved1 ; WORD