matlab图像处理综合实验实验报告
matlab图象处理实验报告
对图像lena.bmp 添加高斯噪声,并分别进行均值滤波和中值滤波。
程序:I=imread('d:\lena.bmp');subplot(2,2,1),imshow(I)title('原始图像')I=imnoise(I,'gaussian',0,0.02); % 添加均值为0,方差为0.02的高斯噪声 subplot(2,2,2),imshow(I)title('加噪图像')h=[1 1 1;1 1 1;1 1 1];h=h/9; % 产生3×3的均值滤波模板 J1=filter2(h,I,'same'); % 用均值模板对图像I 滤波 subplot(2,2,3),imshow(J1,[])%subplot(2,2,3),imshow(J1/255)%J1=uint8(J1);subplot(2,2,3),imshow(J1)title('均值滤波结果')J2=medfilt2(I); % 用3×3的滤波窗口对图像I 进行中值滤波 subplot(2,2,4),imshow(J2)title('中值滤波结果')结果:加噪图像中值滤波结果原始图像均值滤波结果I=imread('d:\lena.bmp');subplot(2,2,1),imshow(I)title('原始图像')hx=[-1 -2 -1;0 0 0;1 2 1]; % 生成Sobel 垂直梯度模板 hy=hx'; % 生成Sobel 水平梯度模板 gradx=filter2(hx,I,'same');gradx=abs(gradx); % 计算图像的Sobel 垂直梯度 subplot(2,2,2),imshow(gradx,[])title('图像的Sobel 垂直梯度')grady=filter2(hy,I,'same');grady=abs(grady);% 计算图像的Sobel 水平梯度 subplot(2,2,3),imshow(grady,[])title('图像的Sobel 水平梯度')grad=gradx+grady;% 得到图像的Sobel 梯度subplot(2,2,4),imshow(grad,[])title('图像的Sobel 梯度')结果:图像的Sobel 垂直梯度图像的Sobel 梯度原始图像图像的Sobel 水平梯度。
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
华东师范大学电子工程系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实验报告
Matlab实验报告实验二图像处理一、实验目的(1)通过应用MA TLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用;(2)通过实验进一步掌握图像处理的基本技术和方法。
二、实验内容及代码㈠.应用MA TLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换首先,在matlab页面中的current directory下打开存放图像的文件夹。
1.显示各种图像⑴显示彩色图像:①代码:>> mousetif=imread('tif.TIF');>> image(mousetif)显示截图:②代码:>> mousetif=imread('tif.TIF');>> imshow(mousetif)显示截图:③代码:mousetif=imread('tif.TIF');subimage(mousetif)显示截图:显示截图:⑵显示二值图像①代码:>> I=imread('单色bmp.bmp');>> imagesc(I,[0 2])显示截图:②代码:>> I=imread('单色bmp.bmp');>> imshow(I,2)显示截图:③代码:>> I=imread('单色bmp.bmp');>> subimage(I)显示截图:⑶显示灰度图像①代码:>> I1=imread('256bmp.bmp');>> imagesc(I1,[0,256])显示截图:代码:>> I1=imread('256bmp.bmp');>> colormap(gray);>> subplot(1,2,1);>> imagesc(I1,[0,256]);>> title('灰度级为[0 256]的mouse.bmp图');>> subplot(1,2,2);>> imagesc(I1,[0,64]);>> colormap(gray);>> title('灰度级为[0 64]的mouse.bmp图');显示截图:⑷显示索引图像代码:>> mousetif=imread('tif.TIF');>> [x,map]=rgb2ind(mousetif,0.7);>> subplot(1,2,1);>> imshow(mousetif);>> title('彩色图像');>> subplot(1,2,2);>> imshow(x,map);>> title('索引图');截图显示:彩色图像索引图2.图像之间的转换⑴索引图像转灰度图像代码:>> II1=ind2gray(x,map);>> imshow(x,map);>> title('索引图像');>> imshow(II1);>> title('灰度图像');截图显示:索引图像灰度图像⑵ 索引图像转彩色图像⑶ 索引图像转二值图像⑷ 灰度图像转索引图像代码:>> I1=imread('256bmp.bmp');>> subplot(1,2,1);>> imagesc(I1,[0,256]); >> colormap(gray); >> title('灰度图');>> [x,map]=gray2ind(I1,256); >> subplot(1,2,2); >> image(x);>> colormap(map); >> title('索引图');显示截图:灰度图2004006008001000100200300400500600索引图2004006008001000100200300400500600⑸灰度图像转彩色图像⑹灰度图像转二值图像⑺彩色图像转灰度图像⑻彩色图像转索引图像代码:>> mousetif=imread('tif.TIF');>> [x,map]=rgb2ind(mousetif,0.7);>> subplot(1,2,1);>> imshow(mousetif);>> title('彩色图像');>> subplot(1,2,2);>> imshow(x,map);>> title('索引图');显示截图:彩色图像索引图⑼彩色图像转二值图像⑽二值图像转索引图像⑾二值图像转彩色图像⑿二值图像转灰度图像㈡应用MA TLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图。
东北大学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实验报告3(1)
四、实验内容与步骤:1.绘制下列曲线.(1) y=x-(x^3)/6程序输入如下:fplot('x-(x^3)/6',[-5,5],'r.');程序输出:(2) x^2+2*y^2=64程序输入如下:ezplot(' x^2+2*y^2-64',[-8,8]) 程序输出:2.设y=1/(1+exp(-t)) –pi<=t<=pi在同一图形窗口采用子图的形式绘制条形图阶梯图杆图和对数坐标图等不同图形,并对不同图形加标注说明.程序输入如下:t=-pi:pi/10:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y,'r');title('条形图');axis([-4,4,0,1]);subplot(2,2,2);stairs(t,y,'b');title('阶梯图');axis([-4,4,0,1]);subplot(2,2,3);stem(t,y,'g');title('杆图');axis([-4,4,0,1]);subplot(2,2,4);semilogx(t,y,'k');title('对数坐标图');axis([-4,4,0,1]);程序输出:3.绘制下列极坐标图.(1) y=5*cos(x)+4(2) y=(5*sin(x)*sin(x))/cos(x) (1)程序输入:x=0:pi/50:2*pi;y=5*cos(x)+4;polar(x,y,'-*');程序输出:(2)程序输入:x=-pi/3:pi/50:pi/3;y=(5.*sin(x).*sin(x))./cos(x);polar(x,y,'-*');程序输出:4.绘制下列三维图形(1)x=exp(-t/20).*cos(t)y=exp(-t/20).*sin(t)z=t0<=t<=2*pi(2)z=5abs(x)<=5abs(y)<=5要求应用插值着色处理(1)程序输入:t=0:pi/10:2*pi;x=exp(-t/20).*cos(t);y=exp(-t/20).*sin(t);z=t;plot3(x,y,z);title('三维图形4-1');xlabel('x');ylabel('y');zlabel('z'); grid on;程序输出:(2)程序输入:[x,y]=meshgrid(-5:0.5:5); z=0*(x-y)+5;surf(x,y,z);shading interp;title('三维图形4-2');程序输出:五、实验总结:2.绘制下列曲线,(1) y=exp(-x*x/2)/(2*pi)程序输入:fplot('exp(-x*x/2)/(2*pi)',[0,5],'r.')程序输出:(2) x=t*sin(t)y=t*cos(t)程序输入:t=0:0.1:2*pi;x=t.*sin(t);y=t.*cos(t);plot(x,y);程序输出:3.在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点(1) y=2*x-0.5(2) x=sin(3*t).*cos(t)y= sin(3*t).*sin(t)0<=t<=pi程序输入:t=0:pi/100:pi;x=sin(3*t).*cos(t);y2=sin(3*t).*sin(t);y1=2*x-0.5;plot(x,y1,'m',x,y2,'g');hold onk=find(abs(y2-y1)<1e-4);x1=x(k);y3=2*x1-0.5;plot(x1,y3,'bp');程序输出:4.分别用plot和fplot函数绘制函数y=sin(1/x)的曲线,分析两曲线的差别程序输入:x=-1:pi/100:1;y=sin(1./x);subplot(2,1,1);plot(x,y,'g');subplot(2,1,2);fplot('sin(1./x)',[-1,1],'m');程序输出:两曲线的差别plot函数在取数据点时一般都是等间隔采样,fplot函数可自适应地对函数进行采样,能更好的反应函数的变化规律6.绘制曲面图形(1)x=3*u*sin(v)y=2*u*cos(v)z=4*u*u程序输入:[u,v]=meshgrid(0:pi/100:2*pi);x=3*u.*sin(v);y=2*u.*cos(v);z=4*u.*u;mesh(x,y,z);程序输出:严重觉得对细节方面很重要,,差一个点就能导致整个程序的不能运行。
综合实验报告Matlab
综合实验报告Matlab综合实验报告:Matlab引言:Matlab是一种强大的数学计算软件,广泛应用于科学计算、数据分析和工程设计等领域。
本文将通过综合实验报告的形式,探讨Matlab在数据处理、图像处理和模拟仿真等方面的应用。
一、数据处理1.1 数据读取与处理在Matlab中,可以通过readtable函数读取各种格式的数据文件,如Excel表格、CSV文件等。
读取数据后,可以使用各种函数对数据进行处理,如排序、筛选、统计等。
此外,Matlab还提供了强大的绘图功能,可以直观地展示数据的分布和趋势。
1.2 数据拟合与回归分析Matlab提供了多种拟合和回归分析的函数,如polyfit、lsqcurvefit等。
通过这些函数,可以根据给定的数据点,拟合出最佳的曲线或曲面,从而预测未知数据的值。
这对于数据预测和趋势分析非常有用。
二、图像处理2.1 图像读取与显示Matlab支持多种图像格式的读取和显示,如JPEG、PNG、BMP等。
可以使用imread函数读取图像文件,并使用imshow函数显示图像。
同时,Matlab还提供了丰富的图像处理函数,如灰度化、二值化、平滑滤波等,可以对图像进行各种处理操作。
2.2 图像增强与特征提取通过Matlab的图像增强函数,如对比度调整、直方图均衡化等,可以改善图像的质量和清晰度。
此外,Matlab还提供了多种特征提取函数,如边缘检测、角点检测等,可以提取图像中的重要特征,用于目标识别和分析。
三、模拟仿真3.1 数学建模与仿真Matlab是一种优秀的数学建模工具,可以通过编写脚本文件,实现各种数学模型的建立和仿真。
例如,可以利用Matlab解决微分方程、优化问题等。
此外,Matlab还支持符号计算,可以进行符号运算和代数求解,方便进行复杂数学推导。
3.2 电路仿真与系统建模对于电子工程师来说,Matlab是一种不可或缺的工具。
Matlab提供了Simulink 工具箱,可以进行电路仿真和系统建模。
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 图像处理实验报告
实验报告课程名称数字图像处理实验名称图像的几何变换姓名__ 冯倩学号____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 数字图像处理实验报告(五份)
《数字图像处理实验报告》实验一图像的增强一.实验目的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.给定函数的累积直方图。
数字图像处理实验——实验四
报告内容:(目的和要求、原理、步骤、数据、计算、小结等)图像处理综合性实验报告实验四综合实验一、实验目的1、掌握matlab编程语言进行编程。
2、用matlab及运用各种数字图像处理方法实现对图像的变换。
二、实验设备计算机、Matlab软件三、实验原理图像预处理是相对于图像识别、图像理解而言的一种前期处理。
不论采用何种装置,输入的图像往往不能令人满意。
例如,从美学的角度会感到图像中物体的轮廓过于鲜明而显得不协调;按检测对象物大小和形状的要求看,图像的边缘过于模糊;在相当满意的一幅图像上会发现多了一些不知来源的黑点或白点;图像的失真、变形等等。
总之,输入的图像在视觉效果和识别方便性等方面可能存在诸多问题,这类问题不妨统称为“质量”问题。
尽管由于目的、观点、爱好等的不同,图像质量很难有同意的定义和标准,但是,根据应用要改善图像质量却是一个共同的愿望。
改善图像质量的处理称为图像预处理,主要是指按需要对图像进行适当的变换突出某些游泳的信息,去除或削弱无用的信息,如改变图像对比度,去除噪声或强调边缘的处理等。
四、实验步骤1.对图像灰度非线性变换2.对某个图像进行直方图均衡化3.对图像进行直方图规定化4.对图像进行空间域低通滤波5.对图片进行低通滤波处理6.对图像进行空域高通滤波法7.通过各种频域低通滤波器方法对图像进行处理五、源程序清单、测试数据、结果1、灰度非线性变换图像灰度变换是图像增强的一种手段。
其中灰度非线性变换能使图像灰度的分布均匀,与人的视觉特性相匹配。
MATLAB语言编写的例程和图像运行结果如下:%GRAY TRANSFORMclc;I=imread('21.jpg');imshow(I);J=imadjust(I,[0.3 0.7],[0 1],1);%transfroms the values in the intensity image I to%values in J by linealy mapping values between %0.3 and 0.7 to values between 0 and 1figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1);%If GAMMA is less than 1,the mapping%is weighted toward higher (brighter)output values.figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1.5);% If GAMMA is greater than 1,the % mapping is weighted toward lower (darker)output values.figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1);% If TOP < BOTTOM,the output image % is reversed,as in a photogrphic negative.figure;imshow(J);2、对tire图像进行直方图均衡化图示:直方图均衡化是通过变换函数将原图的直方图调整为平坦的直方图。
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)
学院:自动化学院班级:电081班姓名:***学号:********2011年10月实验一直方图均衡化一、实验目的:1. 熟悉图像数据在计算机中的存储方式;2. 掌握图像直方图均衡化这一基本处理过程。
二、实验条件:PC微机一台和MATLAB软件。
三、实验内容:1.读入图像数据到内存中,并显示读入的图像;2.实现直方图均衡化处理,显示处理前后图像的直方图。
3.显示并保存处理结果。
四、实验步骤:1.打开Matlab编程环境;2.获取实验用图像。
用’imread’函数将图像读入Matlab;用’imshow’函数显示读入的图像。
3.获取输入图像的直方图:用’imhist’函数处理图像。
4.均衡化处理:用’histeq’函数处理图像即可。
5.获取均衡化后的直方图并显示图像:用’imhist’和’imshow’函数。
6.保存实验结果:用’imwrite’函数处理。
五、实验程序及结果:1、实验程序subplot(6,2,1);i=imread('test1-1.jpg');imhist(i);title('test1-1 hist');subplot(6,2,2);i=im2double(i);imshow(i);title('test1-1 Ô-ͼÏñ');subplot(6,2,3);s=histeq(i);imhist(s);title('test1-1 balancedhist');subplot(6,2,4);imshow(s);title('test1-1 ¾ùºâ»¯ºóµÄͼÏñ');subplot(6,2,5);i=imread('test1-2.jpg');imhist(i);title('test1-2 hist');subplot(6,2,6);i=im2double(i);imshow(i);title('test1-2 Ô-ͼÏñ');subplot(6,2,7);s=histeq(i);imhist(s);title('test1-2 balancedhist'); subplot(6,2,8);imshow(s);title('test1-2 ¾ùºâ»¯ºóµÄͼÏñ');subplot(6,2,9);i=imread('test1-3.jpg');imhist(i);title('test1-3 hist');subplot(6,2,10);i=im2double(i);imshow(i);title('test1-3 Ô-ͼÏñ');subplot(6,2,11);s=histeq(i);imhist(s);title('test1-3 balancedhist'); subplot(6,2,12);imshow(s);title('test1-3 ¾ùºâ»¯ºóµÄͼÏñ');2、实验结果test1-1 hist050100150200250test1-1 原图像test1-1 balancedhist00.10.20.30.40.50.60.70.80.91test1-1 均衡化后的图像test1-2 hist050100150200250test1-2 原图像test1-2 balancedhist00.10.20.30.40.50.60.70.80.91test1-2 均衡化后的图像0test1-3 hist050100150200250test1-3 原图像test1-3 balancedhist00.10.20.30.40.50.60.70.80.91test1-3 均衡化后的图像六、实验思考1.数字图像直方图均衡化之后直方图为什么不是绝对平坦的?答:直方图均衡化是将一已知灰度概率密度分布的图像,经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像。
图像处理实验报告
1常用MATLAB图像处理命令一、实验目的1、熟悉并掌握MATLAB工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
二、实验环境MATLAB2012a版本、WIN7计算机三、常用函数●读写图像文件1 imreadimread函数用于读入各种图像文件,如:a=imread('e:\w01.tif')2 imwriteimwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3 imfinfoimfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif')●图像的显示1 imageimage函数是MATLAB提供的最原始的图像显示函数,如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12];image(a);2 imshowimshow函数用于图像文件的显示,如:i=imread('e:\w01.tif');imshow(i);title(‘原图像’)%加上图像标题3 colorbarcolorbar函数用显示图像的颜色条,如:i=imread('e:\w01.tif');imshow(i);colorbar;4 figurefigure函数用于设定图像显示窗口,如:figure(1); /figure(2);5 subplot把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。
Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建坐标轴为当前坐标轴,用于显示图形。
6 plot绘制二维图形plot(y)Plot(x,y)xy可以是向量、矩阵。
图像类型转换1 rgb2gray把真彩图像转换为灰度图像i=rgb2gray(j)2 im2bw通过阈值化方法把图像转换为二值图像I=im2bw(j,level)Level表示灰度阈值,取值范围0~1(即0.n),表示阈值取自原图像灰度范围的n%3 imresize改变图像的大小I=imresize(j,[m n])将图像j大小调整为m行n列图像运算1 imadd两幅图像相加,要求同样大小,同种数据类型Z=imadd(x,y)表示图像x+y2 imsubstract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract(x,y)表示图像x-y3 immultiplyZ=immultiply(x,y)表示图像x*y4 imdivideZ=imdivide(x,y)表示图像x/y四、心得体会学习了matlab中基本的图像处理命令,为以后图像处理打下了较好的基础。
matlab图像处理实验报告
matlab图像处理实验报告Matlab图像处理实验报告引言:图像处理是一门研究如何对图像进行获取、存储、传输、处理和显示的学科。
而Matlab作为一种强大的科学计算软件,被广泛应用于图像处理领域。
本实验报告旨在介绍Matlab在图像处理中的应用。
一、图像获取与显示在图像处理的第一步,我们需要获取图像并进行显示。
Matlab提供了丰富的函数和工具箱来实现这一目标。
我们可以使用imread函数来读取图像文件,imwrite函数来保存图像文件。
而imshow函数则可以用于图像的显示。
通过使用这些函数,我们可以轻松地加载图像文件,并在Matlab中显示出来。
二、图像的基本操作在图像处理中,我们经常需要对图像进行一些基本的操作,如图像的缩放、旋转、裁剪等。
Matlab提供了一系列的函数来实现这些操作。
通过imresize函数,我们可以实现图像的缩放操作。
而imrotate函数则可以用于图像的旋转。
此外,imcrop函数可以用于图像的裁剪。
三、图像的滤波处理图像的滤波处理是图像处理中的重要内容之一。
Matlab提供了多种滤波函数,如均值滤波、中值滤波、高斯滤波等。
这些滤波函数可以用于图像的平滑处理和噪声的去除。
通过调用这些函数,我们可以有效地改善图像的质量。
四、图像的边缘检测边缘检测是图像处理中的一项重要任务,它可以用于提取图像中的边缘信息。
在Matlab中,我们可以使用多种边缘检测算法来实现这一目标,如Sobel算子、Prewitt算子、Canny算子等。
这些算子可以有效地提取图像中的边缘,并将其显示出来。
五、图像的特征提取图像的特征提取是图像处理中的关键步骤之一,它可以用于提取图像中的重要特征。
在Matlab中,我们可以使用各种特征提取算法来实现这一目标,如颜色直方图、纹理特征、形状特征等。
通过提取这些特征,我们可以对图像进行分类、识别等任务。
六、图像的分割与识别图像的分割与识别是图像处理中的热门研究方向之一。
MATLAB图像处理命令及图形基本操作实验报告
实验(一)常用MATLAB图像处理命令及图形基本操作
end
end
end
for i=1:m
for j=1:n
out(i,j,1)=R(i,j);
% imshow(out)
out(i,j,2)=G(i,j);
out(i,j,3)=B(i,j);
end
end
out=out/256;
figure(1),imshow(out)
%imshow(out)
size(out)
imwrite(out,'PseudoColor.tiff');
end
4、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
RGB=imread('f:\1.jpg')
gray = rgb2gray(RGB)
I = im2bw(RGB,0.5)
subplot(3,1,1);imshow(a);title('原图像');
subplot(3,1,2);imshow(i);title('灰度图像');colormap(gray);
subplot(3,1,3);imshow(I);title('二值图像');
实验结果如图所示:
四、实验总结:
Imread 是读入文件的操作代码,subplot是将多个图画到一个平面上的工具本次实验在老师的带领下熟悉了matlab软件的具体操作
通过书写代码,操作程序实现了灰度图像转换为伪彩色图像;
通过书写代码实现了读入一幅RGB图像,并将其变换为灰度图像和二值图像,然后在同一个窗口中显示RGB图像和灰度图像。
(matlab)数字图像处理实验报告
重庆交通大学学生实验报告实验课程名称《数字图像处理》课程上机实验开课实验室河海学院仿真实验室学院河海学院年级专业08级地理信息系统学生姓名学号时间2011 至2012 学年第 1 学期实验一 图像显示【实验内容】1)使用 MATLAB 图像读取函数imread 读取图像。
2)使用 MATLAB 图像显示函数imshow 显示图像。
3)使用 MATLAB 添加色带函数colorbar 为图像添加色带。
【实验目的】1)掌握MATLAB 图像读取和显示函数的应用方法。
2)了解如何为图像添加色带。
【实验结果】(放置处理前图像)(放置处理后图像)2-1 2-5-3 2-10【程序说明】a=imread('yq.jpg'); a=double(a); %a=uint8(a); imshow(a);%save saturn.dat a -ascii;save yu.text a -ascii; %结果图2-1e=imread('yq.jpg'); imshow(e);iptsetpref('ImshowTrues ize','manual'); figure,imshow(e);iptsetpref('ImshowTrues ize','auto'); bw1=zeros(20,20); bw1(2:2:18,2:2:18)=1; figure,imshow(bw1,'n otruesize');bw1 whos%结果图2-5-3%使用一个调色板来显示一副二进制图像figure,imshow(bw,[1 0 0;0 0 1]); %结果图2-10实验二 图像运算【实验内容】1)使用 MATLAB 滑动邻域操作函数nlfilter 对图像进行处理。
2)使用 MATLAB 分离邻域操作函数blkproc 对图像进行处理。
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、熟悉位图文件的文件格式,掌握位图数据读取并在屏幕上显示的方法。
2、掌握在计算机上进行直方图均衡化以及线性增强的方法。
3、通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。
4、熟练掌握应用MATLAB软件编程进行图像处理。
二、实验环境一台pc机,MATLAB软件编程环境。
三、实验内容1、图像的现实和读取:运用MATLAB软件编程,读取指定的256色灰度图像的数据,显示该文件的文件头和信息头数据的值,并在屏幕上显示该图象。
2、直方图的显示和均衡化:运用MATLAB软件编程,实现内容1中图像直方图的显示和均衡化。
3、图像分割:使用Prewitt 算子、Sobel 算子对图像进行边缘检测处理,完成图像分割实验。
4、图像增强:编写线性增强的程序及相应的显示程序,对指定图象进行线性增强,将原始图象及增强后的图象都显示于屏幕上,比较增强的效果。
四、实验步骤1、打开计算机,启动MATLAB程序。
2、图像读取与显示。
MATLAB中从图像文件中读取数据用函数imread(),这个函数的作用就是将图像文件的数据读入矩阵中,用imshow()函数显示出来。
imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg');imshow('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg');title('原图像')3、直方图的显示A=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg'); figure;imhist(A),title('对应直方图')4、直方图均衡化MATLAB提供了histeq函数(自动直方图均衡化)I=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg'); K=histeq(I);figure;imshow(K),title('经直方图均衡化后的图')figure;imhist(K),title('直方图均衡化后的直方图')5、图像的边缘检测用Sobel算子做边缘检测[A,map]=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg'); image=double(A);u=zeros(1,9);k=zeros(1,9);for i=2:255,for j=2:255,u(1)=0*image(i,j);u(2)=2*image(i,j+1);u(3)=1*image(i-1,j+1);u(4)=0*image(i-1,j);u(5)=-1*image(i-1,j-1);u(6)=-2*image(i,j-1);u(7)=-1*image(i+1,j-1);u(8)=0*image(i+1,j);u(9)=1*image(i+1,j+1);rimage1(i,j)=abs(sum(u));k(1)=0*image(i,j);k(2)=0*image(i,j+1);k(3)=1*image(i-1,j+1);k(4)=2*image(i-1,j);k(5)=1*image(i-1,j-1);k(6)=0*image(i,j-1);k(7)=-1*image(i+1,j-1);k(8)=-2*image(i+1,j);k(9)=-1*image(i+1,j+1);rimage2(i,j)=abs(sum(k));xiaoqiu(i,j)=rimage1(i,j)+rimage2(i,j);end,end,figure,imshow(xiaoqiu,map),title('Sobel锐化');用prewitt算子做边缘检测[A,map]=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg'); image=double(A);u=zeros(1,9);k=zeros(1,9);for i=2:255,for j=2:255,u(1)=0*image(i,j);u(2)=1*image(i,j+1);u(3)=1*image(i-1,j+1);u(4)=0*image(i-1,j);u(5)=-1*image(i-1,j-1);u(6)=-1*image(i,j-1);u(7)=-1*image(i+1,j-1);u(8)=0*image(i+1,j);u(9)=1*image(i+1,j+1);rimage1(i,j)=abs(sum(u));k(1)=0*image(i,j);k(2)=0*image(i,j+1);k(3)=-1*image(i-1,j+1);k(4)=1*image(i-1,j);k(5)=1*image(i-1,j-1);k(6)=0*image(i,j-1);k(7)=-1*image(i+1,j-1);k(8)=-1*image(i+1,j);k(9)=-1*image(i+1,j+1); rimage2(i,j)=abs(sum(k));xiaoqiu(i,j)=rimage1(i,j)+rimage2(i,j);end,end,figure,imshow(xiaoqiu,map),title('prewitt边缘检测');7、图像的处理均值滤波I=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg');h=fspecial('average',3);I2=uint8(round(filter2(h,I)));imshow(I2),title('均值滤波')中值滤波I=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg');I3=medfilt2(I,[3,3]);imshow(I3),title('中值滤波')五、实验总结通过本次试验基本掌握了应用MATLAB软件编程进行图像处理的方法,熟悉了位图文件的文件格式,掌握了位图数据读取显示,直方图均衡化以及线性增强的方法,并学会了运用分割算子对图像进行边缘检测和图像分割处理的方法。
matlab实验报告
matlab实验报告引言:Matlab(矩阵实验室)是一款功能强大的数值计算和科学计算软件,广泛应用于工程、科学和经济等领域。
本实验报告将探讨我在使用Matlab进行实验过程中的心得体会和实验结果。
实验一:图像处理在这个实验中,我使用Matlab对一张图像进行了处理,并应用了各种图像处理算法。
这包括图像增强、边缘检测和图像分割等技术。
通过Matlab的图像处理工具箱,我能够轻松调用各种算法函数,并对图像进行快速处理。
实验结果表明,Matlab图像处理工具箱提供了丰富的函数和算法,极大地方便了我们的图像处理工作。
实验二:模拟信号处理模拟信号处理是Matlab中的一个重要应用领域。
在这个实验中,我模拟了一个带噪声的正弦信号,并使用Matlab进行了噪声滤波和频谱分析。
通过使用Matlab的滤波函数,我能够有效地去除信号中的噪声,并还原出原始信号。
同时,Matlab提供了功能强大的频谱分析工具,我可以轻松地对信号的频率特性进行分析和可视化。
实验三:数据分析与统计数据分析与统计是Matlab的另一个重要应用领域。
在这个实验中,我使用Matlab对一组实验数据进行了分析和统计。
通过使用Matlab的统计函数和工具,我能够计算出数据的均值、方差、标准差等统计指标,并绘制出数据的直方图和散点图。
这些统计分析结果对我的实验研究提供了有力的支持,并帮助我更好地理解实验数据。
实验四:数值计算与优化数值计算与优化是Matlab的核心功能之一。
在这个实验中,我使用Matlab进行了一组数值计算和优化实验。
通过使用Matlab的数值计算函数和优化工具箱,我能够快速计算出复杂的数学问题,并找到最优解。
同时,在进行优化实验时,我可以设置各种约束条件和目标函数,从而得到最优解的参数值。
这些数值计算和优化工具极大地提高了我的研究效率和准确度。
结论:通过这些实验,我深刻认识到Matlab的强大功能和广泛应用领域。
无论是图像处理、信号处理、数据分析还是数值计算与优化,Matlab都提供了丰富的函数和工具,让我们能够快速高效地完成实验和研究工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字图像处理》实验报告学院:专业:班级:姓名:学号:实验一实验名称:图像增强实验目的: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中对数字图像的处理;实验原理:图像和其他信号一样,既能在空间域处理,也能在频率域处理。
把图像信息从空域变换到频域,可以更好的分析加工处理。
因为图像信息的频域处理具有如下特点:(1)能量守恒,但能量重新分配;(2)有利于提取图像的某些特征;(3)正交变换具有能量集中作用,可以实现图像的高效压缩编码;(4)频域用快速算法;实验器材:电脑matlab软件实验容:(1)了解正交变换基本概念(2)掌握图像的离散傅里叶和离散余弦变换(3)熟悉图像的沃尔什及哈达玛变换实验过程如下:傅里叶变换I = imread('E:\dog.jpg')I = rgb2gray(I)J = fft2(I)subplot(2,2,1),imshow(I),title('灰度变换')J = fftshift(J)subplot(2,2,2),imshow(log(abs(J)),[]),title('傅里叶变换') J(abs(J)<5000)=0subplot(2,2,3),imshow(log(abs(J)+eps),[]),title('滤波') J = ifftshift(J)K = ifft2(J)subplot(2,2,4),imshow(K,[0 255]),title('傅里叶逆变换')余弦变换:clear all;RGB=imread('E:\dog.jpg');I=rgb2gray(RGB);figure;imshow(I);title('灰度图像'); J=dct2(I);figure;imshow(log(abs(J)),[]);colormap(jet(64)),colorbar;title('二维离散余弦变换')沃尔什—哈达玛变换: I=zeros(2.^8);I(2.^7-2.^4+1:2.^7+2.^4,2.^7-2.^4+1:2.^7+2.^4)=ones(2*2.^4);subplot(1,2,1);colormap(gray(128)),imagesc(I); [m,n]=size(I) for k=1:nwht(:,k)=hadamard(m)*I(:,k)/m; end for j=1:mwh(:,j)=hadamard(n)*wht(j,:)'/n; end灰度图像二维离散余弦变换-10-8-6-4-20246810wh=wh'; subplot(1,2,2);colormap(gray(128)),imagesc(wh);50100150200250501001502002505010015020025050100150200250Radon 变换:R=radon (I ,theta ):I 表示待处理的图像,theta 表示Radon 变换的方向角度,可以是一个标量或向量值。
R 的每一列对应图像I 在theta 某祎角度的Radon 变换值。
I=zeros(120,120); I(25:75,25:75)=1; figure;imshow(I);theta=0:;[R,xp]=radon(I,theta);figure;imshow(R,[],'Xdata',theta,'Ydata',xp,... 'InitialMagnification','fit')xlabel('\theta (degrees)')ylabel('x''') colormap(hot),colorbariptsetpref('ImshowAxesVisible','off')7060504030 204060801001202010050100150(degrees)实验三实验名称:图像的复原实验目的:1.加深图像复原的相关原理,熟悉相关算法;2.能够产生运动模糊图像,加入高斯,椒盐噪声,并对噪声进行中值,均值,最大值,最小值进行滤波复原;3.对彩色图像RGB转换到HISI,并显示对应分量,同时完成相关平滑滤波。
实验仪器:计算机,Matlab软件实验原理:图像复原的基本思路:先建立退化的数学模型,然后根据该模型对退化图像进行拟图像复原合。
图像复原模型可以用连续数学和离散数学处理,处理项的实现可在空间域卷积,或在频域相乘.图像复原的基本任务:消除模糊。
图像的退化主要是由系统的相关特性以及噪声两方面的因素所导致的,我们可以通过设计一个合适的复原滤波器(即实现逆滤波过程)来实现图像的复原。
图1 中f(x,y)表示的是一幅静止、二维的图像,它在外部噪声n(x,y)的干扰作用之下,在经过系统h(x,y)之后,退化成为g(x,y),复原后的图像为f(x,y)。
针对于退化图像的复原,我们通常可以采用这样两种方式来进行:其一,当对于原始图像缺乏必需的先验知识时,我们可以采用就退化过程建立一个模型,首先对其进行一个大概的描述,然后在复原的过程根据具体的情况进行逐步合理的修正,逐步消除误差影响。
这种方法建立在对图像的退化过程进行合理的估计的基础之上,从这个角度来看它是一种估计的方法;其二,当我们对原始图像具有足够的先验知识时,我们这时候则直接针对原始图像建立一个精确的数学模型,然后再对退化图像进行复原处理,这种效果更好.加入噪声:I=imread('E:\dog.jpg');%读取原图像%考虑是否加入灰度处理J1=imnoise(I,'salt & pepper',0.02); %加入椒盐噪声J2=imnoise(I,'gaussian',0,0.01);%加入高斯白噪声J3=imnoise(I,'poisson');%加入泊松噪声J4=imnoise(I,'speckle',0.04);%加入乘法噪声figure;subplot(221),imshow(J1);title('加入椒盐噪声后图像')subplot(222),imshow(J2);title('加入高斯白噪声后图像')subplot(223),imshow(J3);title('加入泊松噪声后图像')subplot(224),imshow(J4);title('加入乘法噪声后图像')加入椒盐噪声后图像加入高斯白噪声后图像加入泊松噪声后图像加入乘法噪声后图像%对椒盐噪声和高斯白噪声进行imfilter滤波rgb=imread('E:\dog.jpg');h=ones(5,5)/25;rgb1=imfilter(rgb,h);rgb2=imfilter(rgb1,h,'replicate');figure;subplot(1,3,1);imshow(rgb);title('Original');%原始subplot(1,3,2);imshow(rgb1);title('Filtered');%一维滤波subplot(1,3,3);imshow(rgb);title('boundary replication');%边缘滤波%增加运动滤波,水平边缘增强,拉普拉斯滤波h1=[0,0,0.0000,0.0021,0.0042;0.1958,0.1979,0.2000,0.1979,0.1958 ;0.0042,0.0021,0.0000,0,0];h2=[ 1,2,1;0,0,0;-1,-2,-1];h3=[0.1667,0.6667,0.1667;0.6667,-3.3333,0.1667;0.1667,0.6667, 0.1667];rgb1=imfilter(rgb,h1);rgb2=imfilter(rgb,h2);rgb3=imfilter(rgb,h3);figure;subplot(2,2,1),imshow(rgb),title('原图像')subplot(2,2,2),imshow(rgb1),title('运动滤波')subplot(2,2,3),imshow(rgb2),title('水平边缘增强')subplot(2,2,4),imshow(rgb3),title('拉普拉斯滤波')%fspecial 产生线性滤波器原图像运动滤波水平边缘增强拉普拉斯滤波h1=fspecial('average',[5,3]);h2=fspecial('gaussian',[5,3],1);h3=fspecial('laplacian',0);rgb1=imfilter(rgb,h1);rgb2=imfilter(rgb,h2);rgb3=imfilter(rgb,h3);figure;subplot(2,2,1),imshow(rgb),title('原图像') subplot(2,2,2),imshow(rgb1),title('均值滤波') subplot(2,2,3),imshow(rgb2),title('高斯滤波')可以是灰度图像th=graythresh(I); %自动确定二值化的最佳阈值J=im2bw(I,th); %二值化阈值可以自己设定,值为0-1之间,而不是0-255,这一点要切记subplot(121),imshow(I);subplot(122),imshow(J);产生运动模糊图像clc;clear all;I = imread('E:\dog.jpg');subplot(121);imshow(I);title('原始图像');H = fspecial('motion',20,45);MotionBlur = imfilter(I,H,'replicate');subplot(122);imshow(MotionBlur);title('运动模糊图像');clc;clear all;I = imread('eight.tif');J = imnoise(I,'salt & pepper',0.02);K = medfilt2(J);subplot(121);imshow(J);title('加入椒盐噪声的图像'); subplot(122);imshow(K);title('中值滤波的图像');加入椒盐噪声的图像中值滤波的图像clc;clear all;I = imread('snowflakes.png');MAX = ordfilt2(I,25,ones(5,5));MIN = ordfilt2(I,1,ones(5,5));subplot(221);imshow(I);title('原始图像');subplot(222);imshow(MAX);title('最大值滤波'); subplot(223);imshow(MIN);title('最小值滤波');原始图像最大值滤波最小值滤波实验四实验名称:图像的检测与分割实验目的:(1)进一步对matlab的了解和使用;(2)学习如何在matlab中对数字图像的处理;实验原理:数字图像处理主要目的:一是对图像进行加工和处理,得到满足人的视觉和心理需要的改变进行式。