数字图像处理课程设计报告

合集下载

数字图像课程设计报告

数字图像课程设计报告

《数字图像处理》课程设计报告——手写阿拉伯数字的识别1、课程设计目的1)、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。

2)、掌握文献检索的方法与技巧。

3)、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。

2、方法综述字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。

本次实验是对手写的阿拉伯数字进行识别,主要步骤包括预处理模块(其中用到图像分割方法),特征提取和利用人工神经网络(具体运用BP 神经网络方法)进行数字的识别。

2.1图像分割:图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。

它是由图像处理到图像分析的关键步骤。

现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。

2.1.1基于阈值的分割方法灰度阈值分割[1]法是一种最常用的并行区域技术,它是图像分割中应用数量最多的一类。

阈值分割方法实际上是输入图像f到输出图像g的如下变换:其中,T为阈值,对于物体的图像元素g(i,j)=l,对于背景的图像元素g(i,j)=0。

由此可见,阈值分割算法的关键是确定阈值,如果能确定一个合适的阈值就可准确地将图像分割开来。

阈值确定后,将阈值与像素点的灰度值比较和像素分割可对各像素并行地进行,分割的结果直接给出图像区域。

阈值分割的优点是计算简单、运算效率较高、速度快。

在重视运算效率的应用场合(如用于硬件实现),它得到了广泛应用。

人们发展了各种各样的阈值处理技术,包括全局阈值、自适应阈值、最佳阈值等等。

数字图像处理课程设计报告(冈萨雷斯版)

数字图像处理课程设计报告(冈萨雷斯版)

1. 课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。

2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。

2.课程设计内容及实现2.1、网页安全色(Web-Safe Colors)为了完成这项工作,必须找到一个合适的程序,这个程序可以把指定的JPG图像生成RGB元素的图像。

例如,MATLAB的图像处理工具箱可以实现这一点,但你也可以使用图像编辑程序像Adobe的Photo-Shop或Corel的Photo-Paint。

为了实现把图像转换为RGB 这一目标,也可以手动修改。

(a)编写计算机程序,把任意的RGB彩色图像转换到Web安全的RGB图像(Web安全颜色定义见图6.10)。

(b)下载图像图6.8,转换为网络安全色的RGB彩色图像。

图6.8是JPG格式,所以结果返回也为JPG(请看本项目的开始注释)。

解释你的结果和图6.8之间的差异。

2.1.1程序清单:I=imread('Fig6.08.jpg');subplot(121);imshow(I);title('原图');I1=fix((I/51)*51);subplot(122);imshow(I1);title('web-safe colors');2.1.2运行结果如图1图1 网页安全色结果分析:结果图出现明显的方格,每个方格就是一个网页安全色,方格内的颜色一致。

原图则是普通的RGB,假使在原图的相同区域划分出和结果图相对应的方格,则此方格里的颜色是一个渐变的颜色,并非同一种颜色。

2.2、伪彩色图像处理(Pseudo-Color Image Processing )(a)实现图6.23的特性,你可以为输入图像指定两个范围的灰度值,然后你的程序将输出的RGB图像,它的像素有一个指定的颜色,对应于输入图像的一个范围的灰度级,RGB 图像中剩余的像素具有和输入图像相同的灰度。

电子科技大学-数字图像处理-课程设计报告

电子科技大学-数字图像处理-课程设计报告

电子科技大学数字图像处理课程设计课题名称数字图像处理院(系)通信与信息工程学院专业通信工程姓名学号起讫日期指导教师2015年12月15日目录摘要: (03)课题一:图像的灰度级分辨率调整 (04)课题二:噪声的叠加与频域低通滤波器应用 (06)课题三:顶帽变换在图像阴影校正方面的应用 (13)课题四:利用Hough变换检测图像中的直线 (15)课题五:图像的阈值分割操作及区域属性 (20)课题六:基于MATLAB®的GUI程序设计 (23)结束语: (36)参考文献: (37)基于MATLAB®的数字图像处理课题设计摘要本文首先对数字图像处理的相关定义、概念、算法与常用变换进行了介绍;并通过七个课题实例,借助MATLAB®的图像处理工具箱(Computer Vision System Toolbox)对这些案例逐一实现,包括图像的灰度值调整、图像噪声的叠加、频域低通滤波器、阈值分割、Hough变换等,常用的图像变化与处理;然后通过MATLAB®的GUI程序设计,对部分功能进行模块化整合,设计出了数字图像处理的简易软件;最后给出了软件的帮助文件以及该简易程序的系统结构和m代码。

关键词:灰度值调整噪声图像变换MATLAB® GUI设计课题一:图像的灰度级分辨率调整设计要求:128,64,32,16,8,4,2,并在同一个figure窗口将图像的灰度级分辨率调整至{}上将它们显示出来。

设计思路:灰度级分辨率又称色阶,是指图像中可分辨的灰度级的数目,它与存储灰度级别所使用的数据类型有关。

由于灰度级度量的是投射到传感器上的光辐射值的强度,所以灰度级分辨率又称为辐射计量分辨率。

随着图像灰度级分辨率的的逐渐降低,图像中所包含的颜色数目将变得越来越少,从而在颜色维度造成图像信息量的退化。

MATLAB®提供了histeq函数用于图像灰度值的改变,调用格式如下:J = histeq(I,n)其中J为变换后的图像,I为输入图像,n为变换的灰度值。

《数字图像处理》课程设计报告

《数字图像处理》课程设计报告

1.课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。

2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。

2.课程设计内容及实现2.1、二维快速傅立叶变换:本项目的重点是:这个项目的目的是开发一个2-D FFT程序“包”,将用于在其他几个项目。

您的实现必须有能力:(a)乘以(-1),x + y的中心变换输入图像进行滤波。

(b) 一个真正的函数相乘所得到的(复杂的)的阵列(在这个意义上的实系数乘以变换的实部和虚部)。

回想一下,对相应的元件上完成两幅图像的乘法。

(c) 计算傅立叶逆变换。

(d) 结果乘以(-1)x + y的实部。

(e) 计算频谱。

基本上,这个项目实现了图。

4.5。

如果您正在使用MATLAB,那么您的傅立叶变换程序将不会受到限制,其大小是2的整数次幂的图像。

如果要实现自己的计划,那么您所使用的FFT例程可能被限制到2的整数次幂。

在这种情况下,你可能需要放大或缩小图像到适当的大小,使用你的程序开发项目02-04逼近:为了简化这个和以下的工程(除项目04-05),您可以忽略图像填充(4.6.3节)。

虽然你的结果不会完全正确,将获得显着的简化,不仅在图像的大小,而且在需要裁剪的最终结果。

由这种近似的原则将不会受到影响结果如下:主要代码f=imread('Fig4.04(a).jpg');H=imread('Fig4.04(a).jpg');subplot(3,2,1);imshow(f);title('(a)原图像');[M1,N1]=size(f);f=im2double(f);[M2,N2]=size(H);H=im2double(H); %把灰度图像I1的数据类型转换成转换成双精度浮点类型for x=1:M1for y=1:N1f(x,y)=(-1)^(x+y)*f(x,y); %用(-1)^(x+y)乘以输入图像,来实现中心化变换endendF=fft2(f); %使用函数fft2可计算傅立叶变换subplot(3,2,3);imshow(F);title('(b)傅立叶变换的图像');if(M2==1)&&(N2==1)G=F(x,y)*H(x,y);elseif((M1==M2)&&(N1==N2))for x=1:M1for y=1:N1G(x,y)=F(x,y)*H(x,y);endendelseerror('输入图像有误','ERROR');end %通过两个图像的乘法程序,实现对相应元素的相乘g=ifft2(G);subplot(3,2,4);imshow(g);title('(c)傅立叶逆变换的图像');for x=1:M1for y=1:N1g(x,y)=(-1)^(x+y)*g(x,y);endendg=real(g);S=log(1+abs(F)); %计算傅立叶幅度谱并做对数变换subplot(3,2,5);plot(S); %二维图像显示幅度谱title('(d)二维图像显示幅度谱');Q=angle(F); %计算傅立叶变换相位谱subplot(3,2,6);plot(Q);title('(e)二维图像显示相位谱'); %二维图像显示相位谱结果截图图1 傅里叶变换及频谱图结果分析:图1中(a)是原始灰度图像,对原图进行傅里叶变换,用(-1)^(x+y)乘以输入图像,来实现中心化变换得到(b),(c)为傅里叶变换的逆变换得到的图像。

数字图像处理课程设计报告

数字图像处理课程设计报告

数字图像处理设计报告【设计目的】配合《数字图像处理》课程的教学,使学生能巩固和加深对数字图像处理基础理论和基本知识的理解;掌握使用图像处理软件处理图像基本思想和方法;提高学生对图像处理方面的实际问题的应对能力并将所学知识在实践中巩固。

【设计要求】1.按照题目的要求,简要介绍算法,并对算法进行分析;2.用MATLAB完成算法代码(不能利用MATLAB自身的图像处理函数完成具体算法,读写和显示可以利用MATLAB函数),注释要清晰;3.给出代码运行的结果,并对结论进行总结;4.每人可选一个给出的题目或自己感兴趣的题目,按照上面要求上交报告,内容不得少于5页A4纸。

【所选题目】用直方图均衡化一幅8位的灰度图像【设计环境】MATLAB7.1,所选图片为彩色动画图片,大小为1024*666*24b【算法介绍和分析】1、算法概述:直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。

直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。

直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。

2、算法分析:直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。

设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。

在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数):(1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。

这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。

数字图像处理的课程设计

数字图像处理的课程设计

数字图像处理的课程设计一、课程目标知识目标:1. 理解数字图像处理的基本概念,掌握图像的数字化表示方法;2. 掌握图像处理的基本操作,如图像变换、滤波、增强和复原;3. 了解常见的图像分割和特征提取方法,并应用于实际问题;4. 掌握图像压缩的基本原理及常用算法。

技能目标:1. 能够运用图像处理软件进行基本的图像编辑和操作;2. 能够编写简单的数字图像处理程序,实现对图像的基本处理功能;3. 能够运用所学的图像处理方法解决实际问题,如图像去噪、图像增强等;4. 能够对图像进行有效的压缩,以适应不同的应用场景。

情感态度价值观目标:1. 培养学生对数字图像处理技术的兴趣和热情,激发其探索精神;2. 培养学生的团队合作意识,学会与他人共同解决问题;3. 增强学生的实际操作能力,使其认识到理论与实践相结合的重要性;4. 引导学生关注图像处理技术在日常生活和各领域的应用,提高其科技素养。

课程性质:本课程为高年级选修课程,旨在使学生掌握数字图像处理的基本原理和方法,培养其实际应用能力。

学生特点:学生具备一定的数学基础和编程能力,对图像处理有一定了解,但尚未深入学习。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,以实际应用为导向,提高学生的动手能力和创新能力。

通过本课程的学习,使学生能够达到上述课程目标,为未来进一步学习和研究打下坚实基础。

二、教学内容1. 数字图像基础:包括图像的数字化表示、图像质量评价、颜色模型等基本概念;- 教材章节:第1章 数字图像处理基础2. 图像增强:介绍直方图均衡化、图像平滑、锐化等增强方法;- 教材章节:第3章 图像增强3. 图像复原:涉及图像退化模型、逆滤波、维纳滤波等复原方法;- 教材章节:第4章 图像复原4. 图像分割与特征提取:包括阈值分割、边缘检测、区域生长等分割方法,以及特征点的提取和描述;- 教材章节:第5章 图像分割与特征提取5. 图像压缩:介绍图像压缩的基本原理,如JPEG、JPEG2000等压缩算法;- 教材章节:第6章 图像压缩6. 数字图像处理应用:分析图像处理在医学、遥感、计算机视觉等领域的应用案例;- 教材章节:第7章 数字图像处理应用教学进度安排:1. 数字图像基础(2学时)2. 图像增强(4学时)3. 图像复原(4学时)4. 图像分割与特征提取(6学时)5. 图像压缩(4学时)6. 数字图像处理应用(2学时)三、教学方法为提高教学效果,本课程将采用以下多样化的教学方法:1. 讲授法:教师通过系统的讲解,使学生掌握数字图像处理的基本概念、原理和方法。

数字图像处理-课程设计报告-matlab

数字图像处理-课程设计报告-matlab

数字图像处理课程设计报告姓名:学号:班级: .net设计题目:图像处理教师:赵哲老师提交日期:12月29日一、设计内容:主题:《图像处理》详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等),二、涉及知识内容:1、二值化2、各种滤波3、算法等三、设计流程图插入图片对图片进行处理二值化处理重复输出两幅图结束四、实例分析及截图效果:运行效果截图:第一步:读取原图,并显示close all;clear;clc;% 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread('1.jpg');% 插入图片1.jpg 赋给Iimshow(I);% 输出图II1=rgb2gray(I);%图片变灰度图figure%新建窗口subplot(321);% 3行2列第一幅图imhist(I1);%输出图片title('原图直方图');%图片名称一,图像处理模糊H=fspecial('motion',40);%% 滤波算子模糊程度40 motion运动q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制q1=rgb2gray(q);imhist(q1);title('模糊图直方图');二,图像处理锐化H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的qq=imfilter(I,H,'replicate');。

数字图像处理课程设计报告封面和书写格式

数字图像处理课程设计报告封面和书写格式

《数字图像处理》课程设计报告( 2011 - 2012学年第 2 学期)专业班级:遥感09-02班姓名:董朝朝学号:310905060206指导老师:刘春国---------------------------------------------- 实习成绩:教师评语:教师签名:年月日实验项目:均值滤波一、实验内容1.位图文件读取、显示和存储,通过自己搭建一个Visual C++应用工程的基本流程,创建了一个基于MFC的Visual C++数字图像处理平台,实现了位图文件的读写、显示、存储操作。

2.均值滤波算法的原理:均值滤波采用的主要方法为领域平均法。

基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度个g(x,y),即个g(x,y)=1/m ∑f(x,y) m为该模板中包含当前像素在内的像素总个数。

我的具体做法:我用的是3*3的模板。

先把3*3的模板覆盖从开始的区域,然后在在其覆盖的区域中算出平均值。

在把算出来的平均值填写到中间的处理的像素上。

以此类推一步步的处理其他像素。

注明:在边缘化的像素没有做处理。

二、算法实现的主要内容1.打开消息函数代码:CString strFileName;static char szFilter[]="BMP文件(*.bmp)|*.bmp||";CFileDialog dlg(TRUE, "bmp", NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter);if(dlg.DoModal()!=IDOK) return;strFileName=dlg.GetPathName();(this->GetDocument())->SetTitle(strFileName);if(!dib.LoadBmpFile(strFileName,m_pBitmap,m_dwHeight,m_dwWidth,m_flag))return;Invalidate(true);显示图像代码:RECT rectDoc;GetClientRect(&rectDoc);CSize pageSize(rectDoc.right, rectDoc.bottom);CSize lineSize(100,1);CSize docSize(0,0);RECT rect;GetClientRect(&rect);BYTE *pImageDisp = NULL;BITMAPINFO *pBmpInfo = NULL;//设置在指定设备内容中(显卡内存)的拉伸模式pDC->SetStretchBltMode(COLORONCOLOR);if(m_pBitmap){dib.TransToBmp(m_dwHeight, m_dwWidth, m_pBitmap, pImageDisp, m_flag);dib.CreateBITMAPINFO(pBmpInfo, m_dwHeight, m_dwWidth, m_flag);//拷贝内存数据到显示器StretchDIBits(pDC->GetSafeHdc(),rect.left, rect.top,m_dwWidth, m_dwHeight,0,0,m_dwWidth, m_dwHeight,pImageDisp,pBmpInfo,DIB_RGB_COLORS,SRCCOPY);docSize.cx = rectDoc.left + m_dwWidth;docSize.cy = rectDoc.top + m_dwHeight;}SetScrollSizes(MM_TEXT,docSize,pageSize,lineSize);if(pImageDisp) delete pImageDisp;if(pBmpInfo) delete pBmpInfo;保存函数代码:CString strFileName;static char szFilter[] = "BMP文件(*.bmp)|*.bmp||";CFileDialog dlg(false, "bmp", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter);if(dlg.DoModal() != IDOK) return;strFileName = dlg.GetPathName();if(!dib.WriteBmpFile(strFileName, m_pBitmap, m_dwHeight, m_dwWidth, m_flag)) return;均值滤波主要代码:void CMy123View::Onjunzhi(){BYTE *pData = new BYTE[m_dwWidth*m_dwHeight];BYTE *JUNZHI=new BYTE[m_dwWidth*m_dwHeight];memcpy(pData, m_pBitmap, m_dwWidth*m_dwHeight);DWORD i,j;int lineByte = (m_dwWidth * m_flag / 8 + 3) / 4 * 4;int pixelByte = m_flag/ 8;for(i = 1; i < m_dwHeight-1; i++){for(j = 1; j < m_dwWidth-1; j++){*(JUNZHI+i*lineByte+j*pixelByte)=(*(pData+i*lineByte+j*pixelByte)+ *(pData+(i-1)*lineByte+j*pixelByte)+ *(pData+(i+1)*lineByte+j*pixelByte)+*(pData+i*lineByte+(j-1)*pixelByte)+ *(pData+i*lineByte+(j+1)*pixelByte)+ *(pData+(i-1)*lineByte+(j-1)*pixelByte)+ *(pData+(i-1)*lineByte+(j+1)*pixelByte)+*(pData+(i+1)*lineByte+(j-1)*pixelByte)+ *(pData+(i+1)*lineByte+(j+1)*pixelByte))/9; } // TODO: Add your command handler code here}memcpy(m_pBitmap, JUNZHI, m_dwWidth*m_dwHeight);if(pData) delete []pData;Invalidate(TRUE);}三、处理结果原始图像均值滤波之后的图像四、实习体会通过本次的实习,我熟悉了均值滤波的算法的原理,通过用c++编程实现灰度图像均值滤波功能,我知道这种滤波是牺牲了图像的清晰度来达到处理噪声的目的,其主要应该用于椒盐噪声,在这次的实习中,我熟悉了C++的编程环境,培养了学习C++的兴趣,同时提高了自己的学习能力,自己解决问题的能力,为以后的更深一步的学习奠定了良好的基础,我更加想学好而且坚定信念一定能学好C++。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科综合课程设计报告题 目 ____________________________指导教师__________________________辅导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班___2008___年 _12__月 _30__日数字图像处理演示系统信息科学与技术学院 通信工程 0521 主要内容1.1数字图像处理背景及应用数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。

目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。

因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。

本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。

1.2 图像处理演示系统设计要求能加载和显示原始图像,显示和输出处理后的图像;系统要便于维护和具备可扩展性;界面友好便于操作;1.3 图像处理演示系统设计任务数字图像处理演示系统应该具备图像的几何变换(平移、缩放、旋转、翻转)、图像增强(空间域的平滑滤波与锐化滤波)的简单处理功能。

1.3.1几何变换几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。

通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。

简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。

实际上,一个不受约束的几何变换,可将输入图像的一个点变换到输出图像中的任意位置。

几何变换不仅提供了产生某些特殊图像的可能,甚至还可以使图像处理程序设计简单化。

从变换性质来分可以分为图像的位置变换、形状变换等1.3.2图像增强图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。

一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。

2 设计思想:2.1 图像处理演示系统实现工具的选择使用MATLAB软件进行界面设计及程序编写。

2.2 选择MATLAB软件原因之所以选择MA TLAB工具是因为:MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。

作为强大的科学计算平台,它几乎能够满足所有的计算需求。

MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。

实际上MA TLAB 中的绝大多数的运算都是通过矩阵这一形式进行的。

这一特点也就决定了MATLAB在处理数字图像上的独特优势。

理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。

二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。

而MA TLAB的长处就是处理矩阵运算,因此用MA TLAB处理数字图像非常的方便。

MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读,写和显示。

MATLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。

图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。

2.3 系统结构框图3 图形用户界面设计GUI是实现人机交互的中介,可以通过它实现数据输入、处理和输出。

MA TLAB提供了一个专门的GUI设计工具——图形用户界面开发环境(GUIDE),使用该工具,可以快速完成GUI设计任务。

利用MATLAB提供的有关数据,还可以创建工具栏控件和多种对话框。

3.1启动GUIDE在命令窗口中键入guide,启动GUIDE,显示如下图所示的“GUIDE Quick Start”对话框。

打开“GUIDE Quick Start”对话框,利用GUIDE 模板创建新的GUI,选择一个模板后,单机OK 按钮,在输出编辑器中打开GUI。

如下:3.2 输出编辑器在GUIDE中打开GUI以后,它显示在输出编辑器中。

输出编辑器是所有GUIDE工具的控制面板。

可以通过拖拉控件来设计GUI,这些控件位于输出编辑器左侧的工具箱中,有按钮、弹出式菜单和坐标系等多种。

也可以用输出编辑器设置GUI控件的基本属性。

3.3 GUIDE模板“GUIDE Quick Start”对话框提供了几种基本类型的GUI模板。

使用模板的好处是可以通过改模板来快速创建GUI。

选择一种模板以后,它的预览效果显示在右面的面板中。

3.4 菜单编辑器利用菜单编辑器,可以创建、设置、修改下拉式菜单和弹出式菜单。

在GUIDE中单机工具栏上的按钮,或者选择“Tools”菜单中的“Menu Editor…”选项,打开菜单编辑器的界面,如下图所示:上图中左上角第一个按钮用于创建下拉式菜单。

用户可以通过单击它来创建下拉式主菜单。

第二个按钮用于创建下拉式主菜单的子菜单运行后效果如下:最终GUI运行效果图如下:首次运行后会自动生成zhankeUI.m和zhankeUI.fig两个文件,默认目录设在MA TLAB安装目录下的work文件夹里,zhankeUI.m中存放的是GUI的相关编码,以及相关控件的回调函数,今后可以对其进行代码修改,添加,删除等操作,zhankeUI.fig是GUI的界面文件。

今后主要是对zhankeUI.m文件里面代码的相关操作以实现相关功能!4 图像处理演示系统各功能的实现4.1文件的打开与保存4.1.1文件的打开在主菜单“文件”的下拉菜单中,有个“打开”选项,在其回调函数中添加打开某个文件的相关代码:[fname,pname]=uigetfile('*.bmp;*.jpeg;*.gif', 'Open the file')fname为将要打开文件的文件名,pname为将要打开文件的路径。

Uigetfile函数中主要有两部分参数'*.bmp;*.jpeg;*.gif'是想要打开文件的格式,’Open the file’是生成文件选择打开对话框的标题,此段代码运行效果如下:图 4.1.1 打开一幅图像从上图中选择需要进行操作的文件,将其打开以便后续操作…图4.1.2 打开一幅图像后在界面窗口显示在‘打开’回调函数中我希望同时对文件进行相关数据的读取,以便在今后的处理操作中可以方便的调用,读取完图像数据后在窗口中显示图像,相关代码如下:V=strcat(pname,fname); %将图像赋值给变量Vhandles.my_data1=Vguidata(hObject,handles) %更新句柄数据axes(handles.axes7) %添加一坐标轴用来指定显示图像的区域imshow(V) %显示选取的图像当执行以上代码时会有一种情况出现错误,那就是当我们进行“打开”文件操作时候,如上图 Open,在这里当我们没有选择文件,而将窗口强行关闭或选择了程序无法识别的文件格式时,命令窗口会提示错误,所以加入如下代码进行处理:if fname < 5returnend对打开的文件名长度进行判断,确定有文件打开时会进行下面的操作,当没有文件时退出,整个回调函数如下:[fname,pname]=uigetfile('*.bmp;*.jpeg;*.gif','Open the file')L=length(fname)if fname < 5returnendV=strcat(pname,fname);handles.my_data1=Vguidata(hObject,handles)axes(handles.axes7)imshow(V)4.1.2文件的保存[newfile,newpath]=uiputfile(‘*.bmp’,’Save file name’)准备把当前文件*.bmp保存到当前目录下,文件保存对话框中列出当前目录下的所有文件,保存的文件名和路径名保存到newfile和newpath中。

4.2 图像的增强4.2.1 图像的平滑滤波处理1)平滑滤波的作用:对图像的高频分量进行消弱或消除,增强图像的低频分量。

平滑滤波一般用于消除图像中的随即噪声,从而起到图像平滑的作用2)平滑滤波原理:(1)邻域平均滤波法邻域平均滤波法是将一个像素点及其邻域中的所有像素点的平均值赋给输出图像中相应的像素点,从而达到平滑的目的,又称均值滤波法。

最简单的邻域平均滤波法是所有模板系数都取相同的值.邻域平均滤波法的运算公式为:g(x,y)=1/N ∑f(i.j) x,y=0,1,2,…,N-1j=∈M其中,M是以(x,y)为中心的邻域像素点的集合,N是该邻域内像素点的总个数,对每个像素点按该公式进行计算即可得到增强图像中所有像素点的灰度值。

(2)中值滤波法尽管邻域平均滤波法可以起到平滑图像的作用,但在消除噪声的同时会使图像中的一些细节变得模糊。

中值滤波法则在消除噪声的同时还能保持图像中的细节部分,防止图像的边缘部分模糊。

与邻域平均法不同,中值滤波是将邻域内所有的像素点值按从小到大的顺序排列,取中间值作为中心像素点的输出值。

其原理是利用一个奇数点的移动窗口,将窗口中心点的值用窗口各点的中间值代替,与均值滤波不同,它不是通过对邻域内的所有像素点求平均值来消除噪声的,而是让与周围像素点灰度值的差比较大的像素点改取近似于周围像素点灰度值的值。

从而达到消除噪声的目的。

3)实现方法:采用邻域平均法对图像进行处理,实现方法如下:for i=2:w-1forj=2:h-1I_1(i,j)=uint8((double(I(i-1,j-1))+double(I(i-1,j))+double(I(i-1,j+1))+double(I (i,j-1))+double(I(i,j))+double(I(i,j+1))+double(I(i+1,j-1))+double(I(i+1,j))+do uble(I(i+1,j+1)))/9);endend采用中值滤波法对图像进行处理,其实现方法如下:for i=2:w-1for j=2:h-1for m=1:3for n=1:3hhh((m-1)*3+n)=I(i+m-2,j+n-2);endendfor p=1:9for q=p+1:9if(hhh(p)>hhh(q))temp=hhh(p);hhh(p)=hhh(q);hhh(q)=temp;endendendI_2(i,j)=hhh(5);endend图4.2.1 图像空域的平滑滤波处理结果4.2.2图像的锐化滤波处理1) 锐化滤波的作用:图像的平滑处理会使图像的边缘纹理信息受到损失,图像变得比较模糊。

相关文档
最新文档