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( )函数在实现卷积运算的基础上进行滤波。
- 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中对数字图像的处理;实验原理:数字图像处理主要目的:一是对图像进行加工和处理,得到满足人的视觉和心理需要的改变进行式。