来进行响应。实现图像点运算需要首先考虑以下问题:
a) 点运算各个部分的实现原理
b) 图像的格式和不同色位图的说明
c) BMP和256色位图的详细介绍
d) VC++处理图像的方法
e) 了解怎么利用MFC提供的类库进行处理。
1.2 各个模块设计
(1) 灰度直方图对话框的设计
(a) 启动LineTrans项目文件,打开资源视图,添加ID为IDD_DLG_INTENSITY对话框资源,并完成相应设计。然后为其创建对话框类CIntensityDlg。
(b) 灰度直方图绘制过程
a) 各级灰度数量的统计
统计数据是绘制灰度直方图的依据。该对话框在初始化时,也就是在OnInitDialog函数中完成统计
工作。图像的每个像素都统一采用32位形式存储,故8位灰度图的一个像素也会占用32位。为方便统计,对话框默认当前处理图像为灰度图,即R=G=B,故每次只需要统计其中一种颜色的数量。
b) 灰度直方图绘制过程
绘制工作主要由OnPaint函数完成,它完成了以下功能:
pDC->MoveTo(10,10); // 绘制坐标轴
pDC->LineTo(10,280); // 垂直轴
pDC->LineTo(320,280); // 水平轴
str.Format("%d", lMaxCount);