基于MATLAB图像处理报告

合集下载

matlab 数字图像处理实验报告(五份)

matlab 数字图像处理实验报告(五份)

《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。

二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。

从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。

其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。

此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。

频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。

常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。

假定原图像为f(x,y),经傅立叶变换为F(u,v)。

频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。

四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\624baf9dbcc4910a.jpg');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'IMG_20170929_130307.jpg', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 196Original Image2.给定函数的累积直方图。

湖南大学医学影像学实验之matlab图像处理实验报告

湖南大学医学影像学实验之matlab图像处理实验报告

实验一、空域图像处理1、灰度线性变换:I=imread('trees.tif') ;figure(1) ; imshow(I) ; title('原图') ;J=double(I) ; %把I变成双精度并赋值给JJ=3*J+74 ; %对J进行线性变换J=uint8(J) ;figure(2) ; imshow(J) ; title('线性变换') ;图像:思考题:设定不同的斜率值和截距,显示效果会怎样?答:斜率增加,像素点的灰度值会根据本身的灰度值按比例增加,所以深色部分会变少,浅色部分会变多,整张图片上白色区域会变多;截距增加,所有像素点的灰度值都会增加,所以整张图片会变淡。

添加噪声:I=imread('trees.tif') ;M=imnoise(I,'salt & pepper',0.02) ; %添加椒盐噪声%因为每次添加椒盐噪声都是这两句代码,所以就不重复打出来了,直接看效果图下同~( ̄▽ ̄~)~~~图像:椒盐噪声+线性变换:椒盐噪声是随机产生的噪声,包括高灰度和低灰度的噪声。

线性变换基本上没有多少去噪的功能,更多的应该是用于改变对比度。

(中值)直方图均衡化:I=imread('rice.png') ;subplot(2,2,1) ; imshow(I) ; title('原图') ;subplot(2,2,3) ; imhist(I) ;J=double(I) ; %把I变成双精度并赋值给Jmax=J(1,1) ; min=J(1,1) %把J(1,1)赋值给max和min[N1,N2]=size(I) ; %得到矩阵I的行和列for i=1:N1for j=1:N2if J(i,j)>maxmax=J(i,j) ; %如果元素值大于max,则把元素值赋给maxendif J(i,j)<minmin=J(i,j) ; %如果元素值小于min,则把元素值赋给minendendendn=round((max+min))/2 ; %取元素最大值和最小值的中间值,即中间灰度值a=(255-max)/(max-n) ;b=min/(n-min) ;%根据原图中max和min,求得运算倍率a和b,以确保在接下来的运算中,原图像的max和min可以准确被定为到255和0for i=1:N1for j=1:N2if J(i,j)>=nJ(i,j)=J(i,j)+a*(J(i,j)-n) ;end%当元素灰度值大于或等于中间灰度值时,将该元素的灰度值变大if J(i,j)<nJ(i,j)=J(i,j)-b*(n-J(i,j)) ;end%当元素灰度值小于中间灰度值时,将该元素的灰度值变小endendK=uint8(real(J)) ;subplot(2,2,2) ; imshow(K) ;title('直方图均衡化') ;subplot(2,2,4) ; imhist(K) ;思考题:直方图均衡化是什么意思?它的主要用途是什么?答:直方图均衡化是将一副像素灰度级范围较窄的图像的像素灰度级的范围扩大并分布均匀。

matlab图像处理实验报告

matlab图像处理实验报告

matlab图像处理实验报告《Matlab图像处理实验报告》摘要:本实验报告通过使用Matlab软件进行图像处理实验,对图像进行了灰度化、二值化、边缘检测、图像增强等处理,通过实验结果分析,验证了Matlab在图像处理领域的实用性和有效性。

1. 实验目的本实验旨在通过Matlab软件进行图像处理实验,掌握图像处理的基本方法和技术,提高对图像处理算法的理解和应用能力。

2. 实验原理图像处理是对图像进行数字化处理的过程,主要包括图像获取、图像预处理、图像增强、图像分割和图像识别等步骤。

Matlab是一种功能强大的科学计算软件,具有丰富的图像处理工具箱,可用于图像的处理、分析和识别。

3. 实验内容(1)图像灰度化首先,通过Matlab读取一幅彩色图像,并将其转换为灰度图像。

利用Matlab 中的rgb2gray函数,将RGB图像转换为灰度图像,实现图像的灰度化处理。

(2)图像二值化接着,对灰度图像进行二值化处理,将图像转换为黑白二值图像。

利用Matlab 中的im2bw函数,根据设定的阈值对灰度图像进行二值化处理,实现图像的二值化处理。

(3)边缘检测然后,对二值图像进行边缘检测处理,提取图像的边缘信息。

利用Matlab中的edge函数,对二值图像进行边缘检测处理,实现图像的边缘检测处理。

(4)图像增强最后,对原始图像进行图像增强处理,改善图像的质量和清晰度。

利用Matlab 中的imadjust函数,对原始图像进行图像增强处理,实现图像的增强处理。

4. 实验结果分析通过实验结果分析,可以发现Matlab在图像处理领域具有较高的实用性和有效性。

通过Matlab软件进行图像处理实验,可以快速、方便地实现图像的处理和分析,提高图像处理的效率和精度,为图像处理技术的研究和应用提供了重要的工具和支持。

5. 结论本实验通过Matlab图像处理实验,掌握了图像处理的基本方法和技术,提高了对图像处理算法的理解和应用能力。

基于matlab的实验报告

基于matlab的实验报告

基于matlab的实验报告实验报告:基于MATLAB 的实验一、实验目的通过使用MATLAB 软件,掌握如何进行数据分析、图像处理、算法实现等一系列实验操作,提高实验者的实践能力和动手能力。

二、实验原理MATLAB 是一种在科学计算和技术开发领域广泛应用的计算机软件。

它能进行矩阵计算、绘制函数和数据图像、实现算法以及进行数据分析等。

通过掌握MATLAB 的使用,能够快速、高效地解决各种科学和工程问题。

三、实验内容1. 数据分析:使用MATLAB 的数据分析工具进行数据的导入、处理和分析。

2. 图像处理:利用MATLAB 的图像处理工具包对图像进行滤波、增强、分割等操作。

3. 算法实现:使用MATLAB 实现常用的算法,如排序、搜索、图像压缩等。

四、实验步骤1. 数据分析:(1)使用MATLAB 的读取数据函数将数据导入MATLAB 环境中。

(2)利用MATLAB 的数据处理函数进行数据清洗和预处理。

(3)使用MATLAB 的统计工具进行数据分析,如求平均值、标准差等。

(4)利用MATLAB 的绘图函数将分析结果可视化。

2. 图像处理:(1)使用MATLAB 的读取图像函数将图像导入MATLAB 环境中。

(2)利用MATLAB 的图像处理工具包进行滤波操作,如均值滤波、中值滤波等。

(3)使用MATLAB 的图像增强函数对图像进行锐化、变换等操作。

(4)利用MATLAB 的图像分割算法对图像进行分割。

3. 算法实现:(1)使用MATLAB 编写排序算法,如冒泡排序、快速排序等。

(2)使用MATLAB 编写搜索算法,如二分查找、线性搜索等。

(3)使用MATLAB 实现图像压缩算法,如离散余弦变换(DCT)。

五、实验结果实验中,我们使用MATLAB 完成了数据分析、图像处理和算法实现的一系列实验操作。

通过数据分析,我们成功导入了数据并对其进行了清洗和预处理,最后得到了数据的统计结果。

在图像处理方面,我们对图像进行了滤波、增强和分割等操作,最终得到了处理后的图像。

数字图像处理实验报告-基于Matlab

数字图像处理实验报告-基于Matlab

华东师范大学电子工程系2017.6实验1:图像灰度级修正【实验目的】掌握常用的图像灰度级修正方法(灰度变换法和直方图均衡化),加深对直方图的理解。

观察图像的增强效果,对灰度级修正前后的图像加以比较。

【实验内容】1)编程实现图像的灰度变换,改变图像的输入、输出映射参数范围(线性拉伸和反比);2)修改参数gamma值(大于、小于、等于1),观察处理结果;3)对图像直方图作均衡化处理,显示均衡前后的图像及其直方图。

【实验代码】original=imread('lena.bmp');linstr=imadjust(original,[0.3 0.7],[0 1]); %线性拉伸opposite=imadjust(original,[0 1],[1 0]); %反比above=imadjust(original,[0 1],[0 1],2); %gamma>1equal=imadjust(original,[0 1],[0 1],1); %gamma=1below=imadjust(original,[0 1],[0 1],0.5); %gamma<1subplot(3,3,1);imshow(original);title('原图像');subplot(3,3,2);imshow(linstr);title('线性拉伸');subplot(3,3,3);imshow(opposite);title('反比');subplot(3,3,4);imshow(above);title('gamma>1');subplot(3,3,5);imshow(equal);title('gamma=1');subplot(3,3,6);imshow(below);title('gamma<1');subplot(3,3,7);imhist(original);title('原图像直方图'); histequal=histeq(original);%对图像均衡化subplot(3,3,8);imshow(histequal);title('均衡后的图像'); subplot(3,3,9);imhist(histequal);title('均衡图像的直方图'); axis([0 256 0 2000]);【输出图像】【实验思考】根据以下图片以及实验结果可知gamma>1时图像整体变暗,灰度级整体变小;gamma<1时图像整体变亮,灰度级整体变小;而gamma=1时,图像维持不变。

图像处理实验报告

图像处理实验报告

图像处理实验报告实验⼀基于matlab 的⼈脸识别技术⼀、实验⽬的1.熟悉⼈脸识别的⼀般流程与常见识别⽅法;2.熟悉不同的特征提取⽅法在⼈脸识别的应⽤;3.了解在实际的⼈脸识别中,学习样本数等参数对识别率的影响;4.了解⾮⼈脸学习样本库的构建在⼈脸识别的重要作⽤。

使⽤MATLAB 平台编程,采⽤K-L 变换、特征提取及图像处理技术,实现⼈脸识别⼆、实验内容与实验仪器、设备1.构建⾮⼈脸学习样本库;2.观测不同的特征提取⽅法对⼈脸识别率的影响;3.观测不同的学习样本数对⼈脸识别率的影响;1. PC 机-系统最低配置 512M 内存、P4 CPU ;2. Matlab 仿真软件- 7.0 / 7.1 / 2006a 等版本的Matlab 软件。

3. CBCL ⼈脸样本库三、实验原理1.⼈脸特征提取的算法通过判别图像中所有可能区域是否属于“⼈脸模式”的⽅法来实现⼈脸检测。

这类⽅法有:特征脸法、⼈⼯神经⽹络法、⽀持向量机法;积分图像法。

本次使⽤的是PCA(主成分分析法)其原理是:利⽤K-L 变换抽取⼈脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到⼀组投影系数,通过与各个⼈脸图像⽐较进⾏识别。

对于⼀幅M*N 的⼈脸图像,将其每列相连构成⼀个⼤⼩为D=M*N 维的列向量。

D 就是⼈脸图像的维数,即是图像空间的维数。

设n 是训练样本的数⽬;X j 表⽰第j 幅⼈脸图像形成的⼈脸向量,则所需样本的协⽅差矩阵为:1()()m Ti i i S x u x u ==--∑ (1)其中U 为训练样本的平均图像向量:11mi i u x n ==∑ (2)令A=[x 1-u,x 2-u,...x n -u],则有S r =AA T ,其维数为D ×D 。

根据K-L 变换原理,需要求得的新坐标系由矩阵AA T 的⾮零特征值所对应的特征向量组成。

直接计算的计算量⽐较⼤,所以采⽤奇异值分解(SVD)定理,通过求解A T A 的特征值和特征向量来获得AA T 的特征值和特征向量。

基于matlab的遥感图像处理程序

基于matlab的遥感图像处理程序

基于matlab的遥感图像处理程序报告南京理工大学电光学院,无履仙人一、程序简介基于matlab的GUI可视化遥感图像处理程序,界面布局如下图:菜单栏包括:文件,图像旋转,自动识别有效区域,获取有效区域,压缩,图像增强,伪彩色图像,还原重做,退出,关于等项。

主界面部分包含两个图像显示,和部分按钮及需要输入的参数。

由于界面大小有限,部分功能留在菜单栏中。

二、处理步骤及部分源码1、打开和保存文件首先是文件菜单,包含打开和保存,打开的文件将显示在原始图像和处理图像两部分中,在处理过程中,原始图像不变,以作为和处理图像对比,保存图片只保存处理后的图片,处理前的图片不做保存。

图片打开后如图所示,2、图像旋转由图可见图像有部分区域无有效信息,不利于处理和获得有效信息,故应去除,首先进行旋转,便于去除无效区域。

在旋转角度编辑栏内输入要旋转的角度然后点旋转按钮,进行旋转。

旋转后如图,图像旋转源码为:function imrotate_Callback(hObject, eventdata, handles)h=getappdata(handles.figure_demo,'img_2');x=get(handles.angle,'string');an=str2num(x);g=imrotate(h,an,'bilinear','crop');img_2=g;axes(handles.tag);imshow(img_2);setappdata(handles.figure_demo,'img_2',img_2);3。

、有效区域自动提取现在图中有效区域基本是在一个矩形内,可以通过算法将有效区域边界的坐标求出来,单击自动识别有效区域按钮,求出后显示在图片右边的静态文本框内。

如下图,图像自动识别有效区域源码如下,function auto_Callback(hObject, eventdata, handles)h=getappdata(handles.figure_demo,'img_2');[x,y]=size(h);flag=1;for i=1:xfor j=1:yif h(i,j)~=0&flag==1x1=i;flag=0;endif h(i,j)~=0x2=i;endendendfor j=1:yfor i=1:xif h(i,j)~=0&flag==0y1=j;flag=1;endif h(i,j)~=0y2=j;endendendset(handles.x_1,'String',num2str(x1));set(handles.x_2,'String',num2str(x2));set(handles.y_1,'String',num2str(y1));set(handles.y_2,'String',num2str(y2));y0=y2-y1;x0=x2-x1;rect=[y1,x1,y0,x0];setappdata(handles.figure_demo,'rect',rect);4、获取有效区域获得有效区域坐标后,就可以通过简单的命令获得遥感图像的有效区域了,单击菜单栏的“获取有效区域”按钮,就可获得。

matlab简单图像处理实验报告

matlab简单图像处理实验报告

实验一:图像文件类型转换实验目的:理解数字图像文件的几种基本类型掌握在MATLAB中进行图象文件类型转换的方法观察图象转换前后的效果加深对图象文件类型的理解熟悉图象格式、颜色系统间的转换实验内容:1)灰度图像与索引图像的相互转换2)RGB图像与索引图像的相互转换3)将图像转换为二值化图像实验方法:利用MATLAB工具进行实验一、灰度图像到索引图像的转换clear>> info=imfinfo('rice.png')info =Filename: 'rice.png'FileModDate: '26-Jan-2003 00:03:06'FileSize: 44607Format: 'png'FormatVersion: []Width: 256Height: 256BitDepth: 8ColorType: 'grayscale'FormatSignature: [137 80 78 71 13 10 26 10]Colormap: []Histogram: []InterlaceType: 'none'Transparency: 'none'SimpleTransparencyData: []BackgroundColor: []RenderingIntent: []Chromaticities: []Gamma: []XResolution: []YResolution: []ResolutionUnit: []XOffset: []YOffset: []OffsetUnit: []SignificantBits: []ImageModTime: '27 Dec 2002 19:57:12 +0000'Title: []Author: []Description: 'Rice grains'Copyright: 'Copyright The MathWorks, Inc.'CreationTime: []Software: []Disclaimer: []Warning: []Source: []Comment: []OtherText: []RGB=imread('rice.png');>> figure(3);>> imshow(RGB);>> figure(1);>> [RGB1,map1]=gray2ind(RGB,128);>> imshow(RGB1,map1);>> figure(2);>> [RGB2,map2]=gray2ind(RGB,16);>> imshow(RGB2,map2);>> imwrite(RGB1,map1,'3.bmp');>> imwrite(RGB2,map2,'4.bmp');图3 图1图2实验结果分析:从上述实验结果,我们可以看出灰度级不同,图像的亮度也不一样。

东北大学matlab计算机图像处理实验报告

东北大学matlab计算机图像处理实验报告

计算机图像处理实验报告学院:信息学院班级:姓名:学号:实验内容:数字图像处理1、应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换;(1)、显示一副真彩RGB图像代码:I=imread('mikasa.jpg');>>imshow(I);效果:(2)、RGB转灰度图像代码:graycat=rgb2gray(I);>> subplot(1,2,1);>> subimage(I);>> subplot(1,2,2);>> subimage(graycat);效果:(3)、RGB转索引图像代码:[indcat,map]=rgb2ind(I,0.7);>> subplot(1,2,1);>> subimage(I);>> subplot(1,2,2);>> subimage(indcat,map);效果:(4)、索引图像转RGB代码:I1=ind2rgb(indcat,map);>>subplot(1,2,1);>>subimage(indcat,map);>>subplot(1,2,2);>>subimage(I1);效果:(5)、索引转灰度图像代码:i2gcat=ind2gray(indcat,map);>>subplot(1,2,1);>>subimage(indcat,map);>>subplot(1,2,2);>>subimage(i2gcat);效果:(6)、灰度转索引图像代码:[g2icat,map]=gray2ind(graycat,64);>>subplot(1,2,1);>>subimage(graycat);>>subimage(g2icat,map);效果:(7)、RGB转二值图像代码:r2bwcat=im2bw(I,0.5);>>subplot(1,2,1);>>subimage(I);>>subplot(1,2,2);>>subimage(r2bwcat);效果:(8)灰度转二值图像代码:g2bwcat=im2bw(graycat,0.5); subplot(1,2,1);>>subimage(graycat);>>subplot(1,2,2);>>subimage(g2bwcat);效果:(9)、索引转二值图像代码:>> i2bwcat=im2bw(indcat,map,0.7);>>subimage(indcat,map);>>subplot(1,2,2);>>subimage(i2bwcat);效果:2、应用MATLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图。

基于MATLAB图像处理报告

基于MATLAB图像处理报告

基于MATLAB图像处理报告一、设计题目图片叠加。

二、设计要求将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。

三、设计方案3.1、设计思路利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。

3.2、软件介绍MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。

是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

3.3、常见简单程序语句及算法分析(1)CLC;清零。

matlab高级编程与应用-图像处理实验报告资料

matlab高级编程与应用-图像处理实验报告资料

图像处理实验报告自03 张驰昱2010012028一、基础知识(a)以测试图像的中心为圆心,图像的长和宽中较小值的一半为半径画一个红颜色的圆问题分析:构造一个与原图像大小相同的矩阵并按照要求在矩阵中“画”出形状,然后点乘原图像矩阵就可以了。

新的构造矩阵在需要保留原图像的地方须置为1。

具体实现:load('hall.mat');hall=im2double(hall_color); %把8位无符号整形线性转化为0到1之间的数[xx,yy,~]=size(hall); %得到图像长宽R=min(xx,yy)/2; %设半径R为长宽中的较小值的一半circle=ones(xx,yy); %申请一个与原图像相同大小的1矩阵r=[0:2*pi/400:2*pi]; %一个完整圆周的弧度向量x=floor(xx/2+1+R*cos(r)); %完整圆周的x坐标向量y=floor(yy/2+1+R*sin(r)); %完整圆周的y坐标向量,配合之前x坐标值就是圆周坐标了circle(xx*(y-1)+x)=0; %设圆周上每个坐标点的值为0,至此一个画着黑圆的矩阵构造完成%下面是把这个构造好的矩阵点乘原图像矩阵,再在R层矩阵加上一个“白圆矩阵”就是红圆了hall_color_a(:,:,1)=hall(:,:,1).*circle+~circle;hall_color_a(:,:,2)=hall(:,:,2).*circle;hall_color_a(:,:,3)=hall(:,:,3).*circle;imwrite(hall_color_a,'hall_color_a.jpg','JPEG');代码优化:本题花了我一点脑筋把整个圆周的矩阵坐标构造的两个向量中去,免去了循环,大大提高程序效率,基本是瞬间运行完成。

运行结果:(b)将测试图像涂成国际象棋状的“黑白格”的样子,其中“黑”即黑色,“白”则意味着保留原图。

matlab图像处理实验报告

matlab图像处理实验报告

图像处理实验报告姓名:陈琼暖班级:07计科一班学号:20070810104目录:实验一:灰度图像处理 (3)实验二:灰度图像增强 (5)实验三:二值图像处理 (8)实验四:图像变换 (13)大实验:车牌检测 (15)实验一:灰度图像处理题目:直方图与灰度均衡基本要求:(1) BMP灰度图像读取、显示、保存;(2)编程实现得出灰度图像的直方图;(3)实现灰度均衡算法.实验过程:1、BMP灰度图像读取、显示、保存;⏹图像的读写与显示操作:用imread( )读取图像。

⏹图像显示于屏幕:imshow( ) 。

⏹2、编程实现得出灰度图像的直方图;3、实现灰度均衡算法;⏹直方图均衡化可用histeq( )函数实现。

⏹imhist(I) 显示直方图。

直方图中bin的数目有图像的类型决定。

如果I是个灰度图像,imhist将使用默认值256个bins。

如果I是一个二值图像,imhist使用两bins。

实验总结:Matlab 语言是一种简洁,可读性较强的高效率编程软件,通过运用图像处理工具箱中的有关函数,就可以对原图像进行简单的处理。

通过比较灰度原图和经均衡化后的图形可见图像变得清晰,均衡化后的直方图形状比原直方图的形状更理想。

实验二:灰度图像增强题目:图像平滑与锐化 基本要求:(1)使用邻域平均法实现平滑运算; (2)使用中值滤波实现平滑运算; (3)使用拉普拉斯算子实现锐化运算.实验过程: 1、使用邻域平均法实现平滑运算;步骤:对图像添加噪声,对带噪声的图像数据进行平滑处理; ⏹ 对图像添加噪声J = imnoise(I,type,parameters)2、使用中值滤波实现平滑运算;3、使用拉普拉斯算子实现锐化运算;⏹采用可根据图像的局部方差来调整滤波器输出的自适应滤波对图像进行平滑,及采用拉氏算子运算使图像的模糊部分得到增强。

⏹在Matlab 中,各种滤波方法都是在空间域中通过不同的卷积模板即滤波算子实现,可用fspecial( )函数创建预定义的滤波算子,然后用filter2( )或conv2( )函数在实现卷积运算的基础上进行滤波。

MATLAB 图像处理实验报告

MATLAB 图像处理实验报告

实验报告课程名称数字图像处理实验名称图像的几何变换姓名__ 冯倩学号____201007120207_ 专业班级_ 数媒1002实验日期__2012_ 年_10 _月_18 日成绩_____ __ 指导教师___李湘娟_ 一、实验目的掌握图像平移、缩放、旋转与镜像变换;二、实验原理图像平移,自写平移函数immove.mfunction outImage=immove(inImage,Tx,Ty)[m, n] = size(inImage);%计算图象大小outImage = uint8(zeros(m+abs(Ty), n+abs(Tx)));if(Tx>0&&Ty>0) %往右下角平移的情况outImage(1+Ty:m+Ty,1+Tx:n+Tx) = inImage;else if(Tx<0&&Ty<0) %往左上角平移的情况outImage(1:m,1:n) = inImage;else if (Tx<0&&Ty>0) %往左下角平移的情况outImage(1+Ty:m+Ty,1:n) = inImage;else % 往右上角平移的情况outImage(1:m,1+Tx:n+Tx) = inImage;endendend主函数I=imread('C:\Documents and Settings\K46\桌面\1.jpg');J=rgb2gray(I);imshow(J);title('原图像');H=immove(J,100,-100);figure;imshow(H);title('平移后图像');B=immove(J,80,-50);figure;imshow(B);title('平移后图像');G=imresize(J,0.5);figure;imshow(G);title('缩放后图像');C=imresize(J,2);figure;imshow(C);title('缩放后图像');D=imrotate(J,30);figure;imshow(D);title('旋转后图像');E=imrotate(J,54);figure;imshow(E);title('旋转后图像');F = flipdim(J,1);figure;imshow(F);title('垂直镜像图像');G = flipdim(J,2);figure;imshow(G);title('水平镜像图像');三、实验环境Window 2000Matlab 7.0.1四、实验内容与步骤读取并显示一幅灰度图像;对原图像进行平移操作,调整平移参数,记录不同结果;对原图像进行缩放操作,调整缩放参数,将图像缩放至不同大小;对原图像进行旋转操作,调整角度参数,记录不同结果;对原图像进行水平镜像和垂直镜像操作。

matlab图像处理综合实验实验报告

matlab图像处理综合实验实验报告

《数字图像处理》实验报告学院:专业:班级:姓名:学号:实验一实验名称:图像增强实验目的:1.熟悉图像在Matlab下的读入,输出及显示;2.熟悉直方图均衡化;3.熟悉图像的线性指数等;4.熟悉图像的算术运算及几何变换.实验仪器:计算机,Matlab软件实验原理:图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。

图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。

空间域的增强主要有:灰度变换和图像的空间滤波。

图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。

实验容如下:I=imread('E:\cs.jpg');%读取图像subplot(2,2,1),imshow(I),title('源图像')J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J) %输出图像title('灰度图像') %在原始图像中加标题subplot(2,2,3),imhist(J) %输出原图直方图title('原始图像直方图')I=imread('E:\cs.jpg');%读取图像subplot(1,2,1),imshow(I);theta = 30;K = imrotate(I,theta);subplot(1,2,2),imshow(K)对数运算:I=imread('E:\dog.jpg');subplot(2,2,1),imshow(I),title('源图像')J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J));subplot(2,2,3),imshow(J1,[]),title('对数变换后')指数运算:I=imread('E:\dog.jpg');f=double(I);g=(2^2*(f-1))-1f=uint8(f); g=uint8(g);subplot(1,2,1);subimage(f),title('变换一') subplot(1,2,2);subimage(g),title('变换二')加法运算:clc;clear all;close all; i = imread('E:\dog.jpg');j = imnoise(i,'gaussian',0,0.02);subplot(1,3,1),imshow(i),title('图一') subplot(1,3,2),imshow(j),title('图二') k=zeros(242,308); for p=1:100j = imnoise(i,'gaussian',0,0.02); j1 = im2double(j); k = k + j1; end k=k/100;subplot(1,3,3),imshow(k),title('图三')变换一200400600100200300400500变换二200400600100200300400500实验二实验名称:图像变换实验目的:(1)进一步对matlab的了解和使用;(2)学习如何在matlab中对数字图像的处理;实验原理:图像和其他信号一样,既能在空间域处理,也能在频率域处理。

基于Matlab的图像处理算法优化与实验

基于Matlab的图像处理算法优化与实验

基于Matlab的图像处理算法优化与实验一、引言图像处理是计算机视觉领域的重要分支,随着数字图像技术的不断发展,图像处理算法在各个领域得到了广泛的应用。

Matlab作为一种强大的科学计算软件,提供了丰富的图像处理工具和函数,为研究人员提供了便利。

本文将探讨基于Matlab的图像处理算法优化与实验,旨在提高图像处理算法的效率和准确性。

二、图像处理算法优化1. 图像去噪图像去噪是图像处理中常见的问题,影响着图像的清晰度和质量。

在Matlab中,可以利用各种去噪算法对图像进行处理,如中值滤波、均值滤波、小波变换等。

通过比较不同算法的效果和速度,优化选择最适合的去噪方法。

2. 图像增强图像增强旨在改善图像的视觉效果,使其更加清晰和易于分析。

在Matlab中,可以使用直方图均衡化、灰度变换等方法对图像进行增强。

通过调整参数和比较实验结果,优化图像增强算法,提高图像的质量。

3. 特征提取特征提取是图像处理中的关键步骤,用于从原始图像中提取出有用信息。

在Matlab中,可以利用各种特征提取算法,如边缘检测、角点检测、纹理特征提取等。

通过优化算法参数和选择合适的特征描述子,提高特征提取的准确性和稳定性。

三、实验设计与结果分析1. 实验环境搭建在进行图像处理算法优化实验前,需要搭建合适的实验环境。

选择适当的Matlab版本和工具箱,并准备测试用的图像数据集。

2. 实验步骤步骤一:对比不同去噪算法在同一张图片上的效果,并记录去噪前后的PSNR值。

步骤二:比较不同图像增强方法对同一张图片的效果,并进行主观评价。

步骤三:提取同一组图片的特征,并比较不同特征提取算法的性能。

3. 实验结果分析根据实验数据和结果分析,可以得出以下结论: - 在某些情况下,中值滤波比均值滤波效果更好; - 直方图均衡化对于低对比度图像效果显著; - Harris角点检测在复杂背景下表现更稳定。

四、结论与展望通过基于Matlab的图像处理算法优化与实验研究,我们可以得出一些有益的结论,并为未来研究方向提供参考。

matlab图像处理综合实验实验报告

matlab图像处理综合实验实验报告

《数字图像处理》实验报告学院:专业:班级:姓名:学号:实验一实验名称:图像增强实验目的:1.熟悉图像在Matlab下的读入,输出及显示;2.熟悉直方图均衡化;3.熟悉图像的线性指数等;4.熟悉图像的算术运算及几何变换.实验仪器:计算机,Matlab软件实验原理:图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。

图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。

空间域的增强主要有:灰度变换和图像的空间滤波。

图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。

实验内容如下:I=imread('E:\cs.jpg');%读取图像subplot(2,2,1),imshow(I),title('源图像')J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J) %输出图像title('灰度图像') %在原始图像中加标题subplot(2,2,3),imhist(J) %输出原图直方图title('原始图像直方图')0100200subplot(1,2,2),imshow(K)对数运算:I=imread('E:\dog.jpg');subplot(2,2,1),imshow(I),title('源图像')J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J));subplot(2,2,3),imshow(J1,[]),title('对数变换后')指数运算:I=imread('E:\dog.jpg');f=double(I);g=(2^2*(f-1))-1f=uint8(f);g=uint8(g);subplot(1,2,1);subimage(f),title('变换一') subplot(1,2,2);subimage(g),title('变换二')100 200 300100 200 300加法运算:clc;clear all;close all;i = imread('E:\dog.jpg');j = imnoise(i,'gaussian',0,0.02); subplot(1,3,1),imshow(i),title('图一') subplot(1,3,2),imshow(j),title('图二') k=zeros(242,308);for p=1:100j = imnoise(i,'gaussian',0,0.02);j1 = im2double(j);k = k + j1;endk=k/100;subplot(1,3,3),imshow(k),title('图三')实验二实验名称:图像变换实验目的:(1)进一步对matlab的了解和使用;(2)学习如何在matlab中对数字图像的处理;实验原理:图像和其他信号一样,既能在空间域处理,也能在频率域处理。

matlab图像处理实验报告

matlab图像处理实验报告

matlab图像处理实验报告Matlab图像处理实验报告引言:图像处理是一门研究如何对图像进行获取、存储、传输、处理和显示的学科。

而Matlab作为一种强大的科学计算软件,被广泛应用于图像处理领域。

本实验报告旨在介绍Matlab在图像处理中的应用。

一、图像获取与显示在图像处理的第一步,我们需要获取图像并进行显示。

Matlab提供了丰富的函数和工具箱来实现这一目标。

我们可以使用imread函数来读取图像文件,imwrite函数来保存图像文件。

而imshow函数则可以用于图像的显示。

通过使用这些函数,我们可以轻松地加载图像文件,并在Matlab中显示出来。

二、图像的基本操作在图像处理中,我们经常需要对图像进行一些基本的操作,如图像的缩放、旋转、裁剪等。

Matlab提供了一系列的函数来实现这些操作。

通过imresize函数,我们可以实现图像的缩放操作。

而imrotate函数则可以用于图像的旋转。

此外,imcrop函数可以用于图像的裁剪。

三、图像的滤波处理图像的滤波处理是图像处理中的重要内容之一。

Matlab提供了多种滤波函数,如均值滤波、中值滤波、高斯滤波等。

这些滤波函数可以用于图像的平滑处理和噪声的去除。

通过调用这些函数,我们可以有效地改善图像的质量。

四、图像的边缘检测边缘检测是图像处理中的一项重要任务,它可以用于提取图像中的边缘信息。

在Matlab中,我们可以使用多种边缘检测算法来实现这一目标,如Sobel算子、Prewitt算子、Canny算子等。

这些算子可以有效地提取图像中的边缘,并将其显示出来。

五、图像的特征提取图像的特征提取是图像处理中的关键步骤之一,它可以用于提取图像中的重要特征。

在Matlab中,我们可以使用各种特征提取算法来实现这一目标,如颜色直方图、纹理特征、形状特征等。

通过提取这些特征,我们可以对图像进行分类、识别等任务。

六、图像的分割与识别图像的分割与识别是图像处理中的热门研究方向之一。

matlab图像处理综合实验实验报告

matlab图像处理综合实验实验报告

《数字图像处理》实验报告学院:专业:班级:姓名:学号:实验一实验名称:图像增强实验目的:1.熟悉图像在Matlab下的读入,输出及显示;2.熟悉直方图均衡化;3.熟悉图像的线性指数等;4.熟悉图像的算术运算及几何变换.实验仪器:计算机,Matlab软件实验原理:图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。

图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。

空间域的增强主要有:灰度变换和图像的空间滤波。

图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。

实验内容如下:I=imread('E:\cs.jpg');%读取图像subplot(2,2,1),imshow(I),title('源图像')J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J) %输出图像title('灰度图像') %在原始图像中加标题subplot(2,2,3),imhist(J) %输出原图直方图title('原始图像直方图')0100200几何运算:I=imread('E:\cs.jpg');%subplot(1,2,1),imshow(I); theta = 30;K = imrotate(I,theta); subplot(1,2,2),imshow(K)对数运算:I=imread('E:\dog.jpg');subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J));subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算:I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g);subplot(1,2,1);subimage(f),title('变换一') subplot(1,2,2);subimage(g),title('变换二')加法运算:clc;clear all;close all; i = imread('E:\dog.jpg');j = imnoise(i,'gaussian',0,0.02);subplot(1,3,1),imshow(i),title('图一') subplot(1,3,2),imshow(j),title('图二') k=zeros(242,308); for p=1:100j = imnoise(i,'gaussian',0,0.02); j1 = im2double(j); k = k + j1; end k=k/100;subplot(1,3,3),imshow(k),title('图三')变换一200400600100200300400500变换二200400600100200300400500实验二实验名称:图像变换实验目的:(1)进一步对matlab的了解和使用;(2)学习如何在matlab中对数字图像的处理;实验原理:图像和其他信号一样,既能在空间域处理,也能在频率域处理。

matlab 图像 实验报告

matlab 图像 实验报告

matlab 图像实验报告Matlab图像实验报告引言:Matlab是一种强大的计算机编程语言和开发环境,广泛应用于科学计算、数据分析和图像处理等领域。

本实验报告旨在介绍基于Matlab的图像处理实验,包括图像读取、图像处理和图像显示等方面的内容。

一、图像读取图像读取是图像处理的第一步,通过读取图像可以获取图像的像素信息。

在Matlab中,可以使用imread函数来读取图像文件。

例如,通过以下代码可以读取一张名为"image.jpg"的图像:```matlabimage = imread('image.jpg');```二、图像处理1. 灰度化处理灰度化处理是将彩色图像转换为灰度图像的过程。

在Matlab中,可以使用rgb2gray函数来实现灰度化处理。

以下是一个简单的示例:```matlabgray_image = rgb2gray(image);```2. 图像增强图像增强是通过一系列的处理方法来改善图像的质量和视觉效果。

在Matlab中,有多种图像增强方法可供选择,如直方图均衡化、滤波和边缘检测等。

以下是一个直方图均衡化的示例:```matlabenhanced_image = histeq(gray_image);```3. 图像分割图像分割是将图像划分为若干个区域的过程,每个区域具有相似的特征。

在Matlab中,可以使用各种图像分割算法,如阈值分割和基于区域的分割。

以下是一个简单的阈值分割示例:```matlabthreshold = graythresh(enhanced_image);binary_image = imbinarize(enhanced_image, threshold);```三、图像显示图像显示是将处理后的图像展示给用户的过程。

在Matlab中,可以使用imshow函数来显示图像。

以下是一个简单的示例:```matlabimshow(binary_image);```四、实验结果与讨论本次实验中,我们选择了一张名为"image.jpg"的彩色图像进行处理。

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

基于M A T L A B图像处理报告一、设计题目
图片叠加。

二、设计要求
将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。

三、设计方案
、设计思路
利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。

、软件介绍
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。

是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

、常见简单程序语句及算法分析
(1)CLC;清零。

(2)CLEAR ;清内存。

(3)r=imread(‘路径\图片名.jpg’);读入一幅图片。

(4)imshow(r);显示图片r。

(5)g=rgb2gray(r);灰度转变。

(6)%imhist(g);g1=histeq(g);figure,imsho(g1);直方图均衡化。

(7)Imwrite(‘g1,路径\图片名.jpg’);保存图片。

、图片叠加及灰度变换分析
程序1
[m,n,l]=size(C);
for i=1:m
for j=1:n
for k=1:l
D(i,j,k)=C(i,j,k)+ B(i,j,k);
end
end
end
此程序的主要功能是对两幅图片通过算法来实现叠加的效果,程序中的几个变量都是像素点的值,通过三个循环使得两幅图片对应的值线性相加,最大值应该是以255输出,超过255也是以255输出。

程序2
J = imadjust(I,[low_in high_in], [low_out high_out])
此程序变换的原理是:如果原图像f(x, y)的灰度范围是[m, M],我们希望对图像的灰度范围进行线性调整,调整后的图像g(x, y)的灰度范围是[n, N],那么下述变换:g(x,y)?N?n?f(x,y)?m??n就可以实现这一要求。

MATLAB图像处理工具箱中提供的imadjust函数,可以实现上述的线性变换对比度调整。

四、设计步骤
(1)处理之前,我们先来看看两幅原图,一幅是带有礼花的图片,另一幅是一幅东
方明珠的夜景图。

图 1
图 2
通过图片我们发现,礼花的图片非常的亮,而夜景图则显得有些灰暗。

我们推测,如果让礼花和夜景的图片叠加到一起,会不会由于礼花的亮度太大而掩盖了城市的夜光,达不到我们想要的效果。

(2)打开matlab图像处理软件,及以上版本就可以,打开之后,显示界面如下(我的版本是2012b)。

图3
(3)新建script文件,点击’New script‘,或点击’New‘,选择script。

图4
(4)在打开的界面之中输入程序。

图片的位置是你所要用的图片的准确位置,尽量写详细点,减少计算机的读取时间,加快读取速度。

如图所示。

图5
(5)点击运行按钮,即界面上的绿色按钮。

图6
(6)查看效果,如下图。

图7
通过处理后的图片,我们看到由于礼花太亮,完全将城市的夜景掩盖住了,效果不是太理想。

我们设想加入灰度变换函数,将礼花的图片变的暗一点,将夜景的亮度提高一点,看看效果怎么样,加入灰度变换程序,如下图。

图8
(7)软件调试后运行程序,如下图。

图9
结果显示加入灰度变换的函数之后,图片效果较之前好多了,达到了预期的目的。

五、软件代码
通过matlab进行图像处理,代码如下:
clear;
clc;
A=imread('C:\Users\Administrator\Desktop\作业\礼花.jpg');
C=imresize(A,[300,400]);
B=imread('C:\Users\Administrator\Desktop\作业\夜景提亮天空中加入礼花.jpg'); [m,n,l]=size(C);
for i=1:m
for j=1:n
for k=1:l
D(i,j,k)=C(i,j,k)+ B(i,j,k);
end
end
end
figure
imshow(D);
imwrite('C:\Users\Administrator\Desktop\作业\礼花效果图')
调试之后的程序代码如下:
clear;
clc;
A=imread('C:\Users\Administrator\Desktop\作业\礼花.jpg');
B=imread('C:\Users\Administrator\Desktop\作业\夜景提亮天空中加入礼花.jpg'); A1=imadjust(A,[0,1],[0,]);
B1=imadjust(B,[,],[0,1]);
C=imresize(A1,[300,400]);
[m,n,l]=size(C);
for i=1:m
for j=1:n
for k=1:l
D(i,j,k)=C(i,j,k)+ B1(i,j,k);
end
end
end
figure
imshow(D);
imwrite('C:\Users\Administrator\Desktop\作业\礼花效果图')
处理后的图片如下:
图 10
六、结果分析
通过两幅图的对比,发现第二幅图片较第一幅,效果明显增强。

是由于加入灰度变换函数,使原图的灰度值发生变化,以达到实际的效果。

效果对比图11
七、心得体会
通过这次任务,以前在课堂上没太听明白怎么回事的东西,通过上网,查资料,以及用软件处理,通通实践了一遍,加深了对这门课程的认识和理解。

Matlab是一款功能很强大的应用软件,它不仅可以对图像进行处理,而且可以进行各种数字计算和符号计算功能,具有绘图功能,语言体系等等。

这次的任务我们乐在其中,喜悦的是看到了成
果,内心充满了满足感和成就感,就如同看到了图片中的烟花,有种过年的感觉。

不过这些都只是皮毛而已,要想真正地掌握它,还得更进一步地学习理论知识。

参考文献:
【冈萨雷斯数字图像处理(MATLAB版)】[美] 着电子工业出版社。

【数字图像处理及MATLAB实现】杨杰主编电子工业出版社。

相关文档
最新文档