“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情”
1.1为什么要学习数字图像处理
数字图像处理有着非常广泛的应用
- 生物特征识别
- 人脸、指纹、虹膜、步态
- 智能交通系统
- 交通标志图像、无人驾驶、辅助驾驶
- 医学图像处理
- ct图像、MRI图像(磁共振)、计算机辅助诊断
- 军事公安领域
- 景象图像制导,雷达地形检测
1.2为什么要学习机器学习
在经过图像处理后进行的模式识别是需要使用机器学习。
1.3课程主要内容
基本内容
综合应用课题
1.4 安装平台
错误一:缺少MFC组件
错误信息:
解决方法:
打开Visual Studio Installer–>修改–>单个组件,选择安装:
- C++ATL for v142生成工具(x86和x64)
- C++MFC for v142生成工具(x86和x64)
- C++ v14.21 ATL for v142生成工具(x86和x64)
- C++v14.21 MFC for v142生成工具(x86和x64)
如果还是出现同样错误,安装
- 适用于最新v142生成工具的C++ATL
- 适用于最新v142生成工具的C++ MFC
错误二:C4996错误
错误信息:
解决方案:
项目-->项目属性-->C/C++-->预处理器 --> 预处理器定义 中添加:_CRT_NONSTDC_NO_DEPRECATE和_CRT_SECURE_NO_WARNINGS
错误三:不能从CONST CHAR *转换为LPCWST
错误信息:
结局方案:
运行成功
1.5基本概念
1.5.1视觉与图像成像
视觉与图像
人类视觉
- 使人类得以感知和理解周围的世界
- 人类获取信息的70%来源于视觉
- 光线射入角膜,通过晶状体,经过玻璃体,到达视网膜;视网膜受光照产生电信号经视神经传送给大脑形成视觉
- 视觉是人类最高级的感知器官
机器视觉
- 通过电子化感知和理解数字图像
- "模拟","模仿"人类视觉系统
人类视觉成像流程:
图像
-
具有视觉效果的画面
-
图像是人类活动中最常用的信息载体
人类视觉特点 — 多义性、错觉
左边图像具有多义性 右边三幅图像表示错觉
马赫带 —— 更亮更黑的带
-
人类在观察均匀黑区与白区形成的边界时在亮度变化部位附近有亮区更亮、暗区更暗的感觉
-
原因:人类的视觉系统有增强边缘对比度的机制
1.5.2图像感知与获取
- 场景元对照射元能量的反射和吸收
照射源
- 具有能量的电磁波
- 照射源的不同可形成不同的图像
- 图像是人类视觉延续的重要手段
- 通过图像可以使人看到除了可见光图像以外的图像
1.5.3图像采样与量化
模拟图像和数字图像
模拟图像 —— 采样和量化 ——> 数字图像
模拟图像
- 通过某种连续物理量(比如光和电的强弱变化)记录图像的亮度信息
数字图像
- 采用数字表示方式记录图像亮度信息
- 使用计算机存储与处理
数字图像的数学模型
- 以空间位置为自变量的二维函数
- 也可以表示为以像素为元素的矩阵
采样和量化
- 对模拟图像进行空间采样和亮度量化
在二维图像上x轴和y轴等距离采样,即分成一个个栅格,对栅格的中心点进行量化
空间采样:空间分辨率
- 衡量将模拟图像转化为数字图像的空间精度
亮度量化:亮度分辨率
- 衡量图像亮度的量化精度
1.5.4图像存储与格式
图像存储
数字图像格式
- 数字图像文件存放在记忆卡上的格式、压缩方式……
- BMP、JPEG、 GIF、 PNG……
BMP(BitMap)
- 采用位映射存储格式,与硬件设备无关
- 除了色彩分辨率可选以外,不采用其他任何压缩
JPEG(Joint Photographic Experts Group)
- 采用有损压缩的方式去除图像数据中的冗余信息
- 可以在获取极高的压缩率的同时保持图像质量
- 图像质量没有太大损失:因为像素之间有很大的相关性
GIF(Graphics Interchange Format)
- 一种连续色调的无损压缩格式,压缩率在50%左右
- 存储量相对小,成像清晰,适用于初期的互联网
PNG(Portable Network Graphics)
- 现在互联网常用
- 编写式网络图像格式
- 存储量相对小,压缩比高
1.5.5直方图
直方图性质
灰度直方图
- 具有该灰度级的像素个数
-
灰度直方图累加
也可以称为图像的面积
灰度直方图归一化
直方图性质
- 直方图表征了图像中灰度级分布的特性
- 一副图像具有特定的唯一的直方图
- 一个直方图可以对应多幅图像
灰度直方图应用
-
图像增大:直方图均衡
-
图像分割:根据直方图获取分割阈值
-
图像分类:直方图对比
1.6总结
reference:
图像处理与机器学习_中国大学MOOC(慕课) (icourse163.org)
MSB8041:此项目需要 MFC 库_开饭了船长的博客-CSDN博客_此项目需要mfc库