VC++环境下 MFC实现 建议图像处理
1.读取并显示BMP图像:
通过VC提供的文件打开对话框让用户选择要打开的BMP文件,读取文件数据,将BMP图像显示到主窗口的客户区。首次显示时保持BMP图像的原始尺寸。若图像在宽度或高度上超过窗口客户区,则需要提供滚动条对图像进行滚动操作。
网络上存在很多读取并显示BMP图像的源码,可下载并改造至程序中,也可以使用现成的图像处理类库或组件(如著名的CxImage类库)。
2.图像缩放:
独立设计图像缩放算法,逐像素进行处理;若放大之后的图像在高度或宽度上超过窗口尺寸,则需要提供滚动条。
图像放大通常采用像素插值策略,图像缩小通常采用像素合并策略,基本概念及具体实现思路可通过网络查找文献获取。
3.彩色转灰度:
将彩色图像(其像素值通常是一个各分量不等的RGB值)转换为灰度图像(其像素值通常是一个各分量相等的RGB值,其效果类似于黑白照片)。
彩色转灰度的基本策略是将每个像素的三个颜色分量(R,G,B,通常不等)转换为类似(M,M,M)的颜色值,M由R,G,B通过一定的算法得到;具体的算法思路可通过网上查找文献获取,或直接下载源码并改造至程序中。
4.图像模糊化:
图像中各个部分(如人的眼睛)通常比较清晰,与周围其他部分截然不同,此功能是将图像模糊化,使得整个图像变得“发虚”,增加了不同部分过渡的平滑性,但降低了图像原本的清晰度。
图像模糊化通常采用基于区域的像素重整策略,也就是说,一个像素的颜色值要根据它周围其他像素的颜色值通过一定的算法(如平均或加权平均)获得,每个像素经过同样处理之后,其颜色值均由周围像素混合而成,从而增加了图像各个部分过渡的平滑性,实现模糊化。
5.保存图像至文件:
通过VC提供的保存文件对话框让用户选择要保存的目录位置及文件名,将窗口中处理过的图像保存至BMP文件。
这个功能可使用1中提到的图像处理类库或组件提供的功能来实现。
希望大神给个范例,最好能有PDF或者WORLD说明一下的~
万分感谢啊
现在好迷茫的,只会打开文件,但是只要添加上放缩就打不开文件了……