一个简单的photoshop软件Word版

上传人:仙*** 文档编号:74410297 上传时间:2022-04-13 格式:DOC 页数:5 大小:369KB
返回 下载 相关 举报
一个简单的photoshop软件Word版_第1页
第1页 / 共5页
一个简单的photoshop软件Word版_第2页
第2页 / 共5页
一个简单的photoshop软件Word版_第3页
第3页 / 共5页
点击查看更多>>
资源描述
传播优秀Word版文档 ,希望对您有帮助,可双击去除!一个简单的“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+;传播优秀Word版文档 ,希望对您有帮助,可双击去除!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,显示修改的结果传播优秀Word版文档 ,希望对您有帮助,可双击去除!/刷新屏幕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个像素点的距离),还可以调整浮雕像素差值的数量。传播优秀Word版文档 ,希望对您有帮助,可双击去除!由此效果图可以知道,使用VC+实现浮雕的效果要比经Photoshop浮雕处理的图像要差。效果的实现还有图像本身质量的影响。经过算法均衡化的图片,最亮的像素值总是255,因为最后一级色阶(255)的百分位一定是100%。而最暗的是由色阶0的数量决定的,像素值不一定是0。Photoshop通过对比度拉伸的方法使最暗的像素值变为0,其它像素也相应变暗,最亮的像素保持255不变。灰度图使用VC+实现均衡化的效果则和经Photoshop均衡化效果相差不远。经Photoshop对比度拉伸后的效果可能会比算法稍显偏暗。五、 设计心得体会这次的课程设计也使我意识到了理论与实践相结合的重要作用,学习到知识应该应用到实践中。我进一步熟悉VC+6.0的MFC编程,熟悉利用CDIB类。学习了数字图像处理一些基本的原理、算法设计、分析方法和实现方法。在调试设计的过程中,也意识到了该设计存在的不足:首先是学习方式的迟缓,由于是采用逐次学习,使得学习的时间变得比较长,如果学习的模板很多,就花费更多的时间。六、 参考文献网络资料:直方图均衡化图像增强算法,百度百科,利用VC实现图像的特殊显示效果(浮雕等效果)数字图像处理第二版 岗顶萨斯
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!