本项目采用Microsoft Foundation Classes (MFC)框架与OpenCV库结合的方式,开发了一个图像处理应用,实现了包括图像的基本操作、滤波和特征检测等功能。
使用MFC实现OpenCV中的图像处理功能主要包括以下内容:
1. 图像灰度化:
- 最大值灰度化:根据像素的最大颜色分量生成单通道的灰度图。
- 单通道灰度化:将彩色图像转换为单一色彩空间表示形式,通常用于简化后续分析步骤。
- 平均值灰度化:通过计算RGB三个通道的平均值得到每个像素点的新灰度值。
- 加权平均灰度化:在计算过程中给不同颜色分量分配不同的权重以突出某些特征。
2. 图像缩放:
- 最近邻内插法:直接选择距离目标位置最近的原图象素作为新图像对应的位置,速度快但效果差。
- 双线性内插法:通过四个最接近的目标像素值计算加权平均来获得更平滑的结果。
3. 图像翻转:
- 水平翻转:将图像左右对调。
- 竖直翻转:上下颠倒图像内容。
4. 图像叠加
5. 图像均衡化
6. 图像归一化
7. 模板滤波器:
- 均值滤波器:使用周围像素的平均灰度来替换中心像素,达到平滑效果。
- 加权均值滤波器:对不同位置赋予不同的权重进行加权求和作为结果输出。
- 拉普拉斯滤波器:用于边缘检测或增强图像中的锐利区域。
- Sobel滤波器:利用梯度算子来计算像素的导数,常用来提取边界信息。
- 中值滤波:
* 传统中值滤波器
* 改进的中值滤波最值滤波器:
+ 最大值滤波器
+ 最小值滤波器
8. 图像分割(二值化):
- 128阈值二值化:将灰度图像转换为黑白两色。
- 全局阈值二值化:设定一个固定数值作为判断依据,高于此值得像素点设成白色,低于则黑色。
- OSTU全局阈值二值化:自动寻找最佳的分割门限以达到最优效果。
9. 图像对比度:
- 对数变化
- 幂律变化
10. 伪彩色:
* 伪彩色灰度转换函数反色
11. 噪声添加:
* 高斯噪声
* 椒盐噪声
12. 数据分析:包括但不限于计算灰度均值、原图像与变换后图像之间的MSE(Mean Squared Error)、空间域中的信噪比以及峰值信噪比,并绘制出相应的折线图。
13. LBP编码:
14. 人脸检测