77范文网 - 专业文章范例文档资料分享平台

简易photoshop代码数字图像处理实验报告

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一.一个简单的“photoshop”软件 二.设计目的:

数字图像处理,就是用数字计算机及其他有关数字技术,对图像进行处理,以达到预期的目的。随着计算机的发展,图像处理技术在许多领域得到了广泛应用,数字图像处理已成为电子信息、通信、计算机、自动化、信号处理等专业的重要课程。

数字图像处理课程设计是在完成数字图像处理的相关理论的学习后,进行的综合性训练课程,其目的主要包括:

1、使学生进一步巩固数字图像处理的基本概念、理论、分析方法和实现方法;

2、增强学生应用VC++编写数字图像处理的应用程序及分析、解决实际问题的能力;

3、尝试将所学的内容解决实际工程问题,培养学生的工程实践能力,提高工科学生的就业能力。

三.设计内容: 1.打开图像: 主要代码:

static char szFilter[]=\文件(*.bmp)|*.bmp||\ //定义过滤文件的类型 象

CString filename;

int ret=dlg.DoModal(); //运行打开文件对方框

if(ret==IDOK) { filename=dlg.GetFileName(); //获取所选择图像的路径

m_dib.LoadFromFile(filename); //加载图像

if(!m_dib.m_bLoaded) //判断是否加载图像成功 { AfxMessageBox(\图像打不开\ }

return;

CFileDialog dlg(TRUE,\ OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);//定义文件对话框对

效果图:

2.水平镜像:把图像的第一列和最后一列调转,第二列和倒数第二列换过来,以此类推下去,直到第nw/2为止。 代码: int temp,i,j; for(j=0;j

for(i=0;i

temp=m_dib.m_pdata[j*nw+i]; m_dib.m_pdata[j*nw+i]=m_dib.m_pdata[nw-i-1+j*nw];

m_dib.m_pdata[nw-i-1+j*nw]=temp; } 效果图:

3.素描风格:先把灰度值与右下的作对比,如果差值大于一个值则说明这是轮廓,先把非轮廓的位置像素置为黑色,最后对所有像素进行底片化处理 代码: int temp,i,j; for(j=0;j

for(i=0;i

{

temp=m_dib.m_pdata[j*nw+i]-m_dib.m_pdata[(j+1)*nw+i+1]; }

if(temp<10) m_dib.m_pdata[j*nw+i]=0; //黑色为0

for(j=0;j

for(i=0;i

{

int gray=m_dib.m_pdata[j*nw+i]; m_dib.m_pdata[j*nw+i]=255-gray; }

图:

4图像雾化:在图像中引入一定的随机值,打乱图像中的像素值

代码:

int i,j,k,dat; //i表示列,j表行

byte *ptemp=(byte *)new byte[nw*nh]; memset(ptemp,0,nw*nh); for(j=0;j

dat=j*nw+i+k; if(dat>=nw*nh) dat=nw*nh-1;

ptemp[j*nw+i]=m_dib.m_pdata[dat];

}

memcpy(m_dib.m_pdata,ptemp,nw*nh); 效果图:

5.浮雕处理:通过勾画图象轮廓和降低周围像素色值,从而生成具有凹凸感的浮雕效果。其方法是生成一缓冲区,计算当前像素的左上角与右下角的像素值之差,再加上一个补值。将其存储到缓冲区。再将缓冲区的数据逐点替换到图像中并显示出来。 代码:

int w=3,i,j; //w为模板宽度 BYTE *p=new BYTE[nw*nh]; memcpy(p,m_dib.m_pdata,nw*nh); for(j=w/2;j

{

p[j*nw+i]=m_dib.m_pdata[(j-1)*nw+i-1]*(1)+m_dib.m_pdata[(j+1)*nw+i+1]*(-1)+120; }

memcpy(m_dib.m_pdata,p,nw*nh);

delete []p; 效果图:

6.直方图均衡化 代码:

int n[256]={0},g[256]={0}; //定义频数数组n,均衡化每个像素的灰度级的数组g double f[256],t[256]; //定义频率数组f,累加的频率数组t int g_max=0,g_mim=255;

int i,j,k,z;

for(j=0;j

for(i=0;i

{ z=m_dib.m_pdata[j*nw+i];

n[z]++; } for(k=0;k<=255;k++) //统计每个灰度级出现的频率

f[k]=n[k]/(nw*nh*1.0); //累计灰度级的频率

t[0]=f[0]; for(k=1;k<=255;k++) t[k]=t[k-1]+f[k]; for(j=0;j

for(i=0;ig_max?w:g_max; //得到最大值

g_mim=w

for(k=0;k<=255;k++) //利用公式求每个像素均衡化后的灰度级

g[k]=(int)((g_max-g_mim)*t[k]+g_mim+0.5); for(j=0;j

for(i=0;i

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库简易photoshop代码数字图像处理实验报告在线全文阅读。

简易photoshop代码数字图像处理实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/415908.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: