



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一个简单的“photoshop”软件一、 课程设计课题做一个简单的“photoshop”软件利用VC实现软件框架:有操作菜单、能显示某项操作前后的图像。查找相关算法,至少实现3种功能,比如:灰度增强、直方图显示、浮雕等等。二、 课程设计目的1. 进一步熟悉VC+6.0的MFC编程,熟悉利用CDIB类。进一步巩固数字图像处理的基本概念、理论、分析方法和实现方法;2. 结合数字图像处理的理论知识,结合实际,更好培训实践技能,增强应用VC编写数字图像处理的应用程序及分析、解决实际问题的能力;3. 能够针对实践过程的问题,提出有效方案并予以解决,尝试将所学的内容解决实际工程问题,培养学生的工程实践能力,提高工科学生的就业能力。三、 设计内容步骤及分析:1. 通过网络和图书馆搜索有关图像处理的资料,并学习有关MFC图像处理的内容2. 确定方案,开始编写实验代码和调试3. 细化代码,运行程序确定要实现图像处理的算法,如直方图均衡化,浮雕等的算法。直方图就是在某一灰度级的象素个数占整幅图像的象素比 h=nj/N,其中nj是灰度级在j的象素数,N是总象素数,扫描整幅图像得出的h的离散序列就是图像的直方图,h求和必然1,所以直方图可以看成是象素对于灰度的概率分布函数。直方图均衡化算法分为三个步骤,第一步是统计直方图每个灰度级出现的次数,第二步是累计归一化的直方图,第三步是计算新的像素值。对于彩色的图片来说,直方图均衡化一般不能直接对R、G、B三个分量分别进行上述的操作,而要将RGB转换成HSV来对V分量进行直方图均衡化的操作。浮雕效果就是将图像的变化部分突出显示,颜色相同部分淡化处理,使图像出现浮雕效果。实现图像浮雕效果的一般原理是,将图像上每个像素点与其对角线的像素点形成差值,使相似颜色值淡化,不同颜色值突出,从而产生纵深感,达到浮雕的效果,具体的做法是用处于对角线的2个像素值相减,再加上一个背景常数,一般为128而成。这样颜色变化大的地方色彩就明显,颜色变化小的地方因为差值几乎为零则成黑色。主要代码分析:直方图均衡化: int i,j,k,max=0,min=0;int n256=0;/ni灰度值为i的像素的个数float p256=0.0;/pi灰度为i的像素个数的归一化float c256=0.0;/ci灰度为i的像素个数的累积归一化for(i=0;inh;i+)/统计直方图每个灰度级出现的次数for(j=0;jnw;j+)k=m_dib.m_pdatai*nw+j;nk+;for(i=0;i256;i+)/归一化直方图pi=(float)ni/(nw*nh);for(i=0;i256;i+)/累积归一化直方图for(j=0;j=i;j+)ci+=pj;for(i=0;inh;i+)/找出像素的最大值和最小值for(j=0;jnw;j+)if(max=m_dib.m_pdatai*nw+j)min=m_dib.m_pdatai*nw+j;for(i=0;inh;i+)/直方图均衡化for(j=0;jnw;j+)m_dib.m_pdatai*nw+j=cm_dib.m_pdatai*nw+j*(max-min)+min+0.5;m_dib.UpdateData();/将修改的m_pdata的数据赋值给m_pDIBData,显示修改的结果Invalidate();/刷新屏幕浮雕: int i,j;for(i=0;i=0;j-)m_dib.m_pdatai*nw+j-=m_dib.m_pdata(i+1)*nw+j-1;m_dib.UpdateData();/将修改的m_pdata的数据赋值给m_pDIBData,显示修改的结果Invalidate();/刷新屏幕向上平移: int i,j;int offset=5;/偏移量for(i=(nh-1);ioffset;i-)for(j=0;j=0;i-)for(j=0;jnw;j+)m_dib.m_pdatai*nw+j=255;m_dib.UpdateData();/将修改的m_pdata的数据赋值给m_pDIBData,显示修改的结果/刷新屏幕Invalidate();向下平移:int i,j;int offset=5;/偏移量for(i=0;i(nh-offset);i+)for(j=0;jnw;j+)m_dib.m_pdatai*nw+j=m_dib.m_pdatai*nw+j+offset*nw;for(i=(nh-offset);inh;i+)for(j=0;jnw;j+)m_dib.m_pdatai*nw+j=255;m_dib.UpdateData();/将修改的m_pdata的数据赋值给m_pDIBData,显示修改的结果Invalidate();/刷新屏幕四、 实验结果 原图 经Photoshop浮雕处理的图像 使用VC+实现浮雕的效果 原图 经Photoshop均衡化效果 使用VC+实现均衡化的效果 实现图像浮雕效果的具体的做法是用处于对角线的2个像素值相减,再加上一个背景常数,一般为128而成。这种算法的特点是简单快捷,缺点是不能调节图像浮雕效果的角度和深度。用Photoshop实现图像浮雕效果,可以任意调节浮雕角度和深度(2个像素点的距离),还可以调整浮雕像素差值的数量。由此效果图可以知道,使用VC+实现浮雕的效果要比经Photoshop浮雕处理的图像要差。效果的实现还有图像本身质量的影响。经过算法均衡化的图片,最亮的像素值总是255,因为最后一级色阶(255)的百分位一定是100%。而最暗的是由色阶0的数量决定的,像素值不一定是0。Photoshop通过对比度拉伸的方法使最暗的像素值变为0,其它像素也相应变暗,最亮的像素保持255不变。灰度图使用VC+实现均衡化的效果则和经Photoshop均衡化效果相差不远。经Photoshop对比度拉伸后的效果可能会比算法稍显偏暗。五、 设计心得体会这次的课程设计也使我意识到了理论与实践相结合的重要作用,学习到知识应该应用到实践中。我进一步熟悉VC+6.0的MFC编程,熟悉利用CDIB类。学习了数字图像处理一些基本的原理、算法设计、分析方法和实现方法。在调试设计的过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025网络设备采购合同书
- 七年级生物期末考试试题汇编
- 2025年各地的道路运输两类人员安全员模拟试题库和答案
- 2025年室内设计师职业资格考试真题模拟卷:室内设计预算与成本控制试题
- 2025年心理咨询师基础理论知识测试卷:心理咨询心理咨询师心理障碍诊断与心理咨询效果评价试题
- 天津市河东区2026届八年级数学第一学期期末联考模拟试题含解析
- 2025年安全生产考试题库:机械安全操作规范安全法规修订案完善试题解析
- 2025年健身教练健身教练专业能力测试试题
- 环孢素软胶囊临床应用考核试题
- 2025年专升本艺术概论考试模拟卷-2025年民间艺术与学院派艺术流派对比试题
- 2025年全国青少年全国禁毒知识竞赛试题及答案
- 云南学法减分题库及答案
- 幼儿园大班数学活动《4的分解与组合》课件
- 江苏省制造业领域人工智能技术应用场景参考指引2025年版
- 三级医师查房制度考试题(含答案)
- 文旅公司考试试题及答案
- 2025秋七年级开学新生家长会《启幕新篇章携手创辉煌》【课件】
- 2025至2030年中国公立医院行业发展监测及市场发展潜力预测报告
- GJB3243A-2021电子元器件表面安装要求
- 2025年全国翻译专业资格(水平)考试土耳其语三级笔译试卷
- TCCEAS001-2022建设项目工程总承包计价规范
评论
0/150
提交评论