VC++环境下 MFC实现 建议图像处理

yangscy 2012-07-08 05:21:07
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说明一下的~
万分感谢啊
现在好迷茫的,只会打开文件,但是只要添加上放缩就打不开文件了……
...全文
391 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
1668419524cc 2013-07-10
  • 打赏
  • 举报
回复
石大 有木有 。。。。。
yangscy 2012-07-12
  • 打赏
  • 举报
回复
嗯,多谢,我也已经下过了。不过谢谢提醒
qingtongjian 2012-07-11
  • 打赏
  • 举报
回复
论坛上有书的源代码的,我已下过了,VC++图像处理这本书讲的很详细,不过有些小细节自己注意
wdf1247641226 2012-07-10
  • 打赏
  • 举报
回复
又见石大,石大的哪都有啊
zhanglala阿萨德 2012-07-08
  • 打赏
  • 举报
回复
石大有木有
yangscy 2012-07-08
  • 打赏
  • 举报
回复
喔~多谢啦!!!!!
  • 打赏
  • 举报
回复
灰度图什么的都是前几章的内容
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

【Visual C++数字图像处理(第二版)】
[/Quote]

买书有源代码的,这个书(貌似是第一版)正好以前买过,你说的功能里面都有源码

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧