数字图像处理实验四
数字图像处理四个实验报告,带有源程序
数字图像处理实验指导书学院:通信与电子工程学院专业:电子信息工程班级:学号:姓名:XX理工大学实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
数字图像处理 实验报告四
实验四空域滤波一,实验目的:实现图像的线性滤波和非线性滤波变换二,实验条件1,MATLAB软件2,典型的灰度,彩色图像。
三,实验原理均值滤波是在空间域对图象进行平滑处理的一种方法,易于实现,效果也挺好。
表达式的算法是由某像素领域内各点灰度值的平均值来代替该像素原来的灰度值。
最大(小)值滤波,中值滤波是一种非线性处理技术,能抑制图象中的噪声。
在处理之后,位于窗口正中的像素的灰度值,用窗口内各像素灰度值的最大(小),中值代替。
四,实验内容(1)线性滤波,自行编写程序,实现图像的均值滤波。
模板3*3,5*5,7*7。
(2)非线性滤波,自行编写程序,实现图像的统计序滤波,(最大(小)值,中值(median),滤波)模板3*3,5*5,7*7。
(3)将滤波前后的图像进行比较,分析其异同;将原图像加噪处理(imnoise)之后,再滤波处理,结果又如何五,实验步骤(1)线性滤波,实现图像的均值滤波。
模板3*3,5*5,7*7。
以下以3*3为例:代码大致思路如下:先对图片灰度矩阵除去四边后的部分进行计算。
然后对四边除去四角后进行计算,最后对四角进行计算。
鉴于这个方法比较繁琐麻烦,所以在非线性滤波程序中改用了别的方法处理3*3模板。
I=imread('a.jpg');J=rgb2gray(I);J=double(J);A0=zeros(287,287); %A0为线性变换后的图像for i=2:286 %对图片灰度矩阵除去四边后的部分进行计算for j=2:286A0(i,j)=(1/9)*(J(i-1,j-1)+J(i-1,j)+J(i-1,j+1)+J(i,j-1)+J(i,j)+J(i,j+1)+J(i+1,j-1)+J(i+1,j)+J(i+1,j+1));endendfor i=2:286 %对四边除去四角后进行计算A0(1,i)=(1/9)*(J(i,j-1)+J(i,j)+J(i,j+1)+J(i+1,j-1)+J(i+1,j)+J(i+1,j+1));A0(287,i)=(1/9)*(J(i-1,j-1)+J(i-1,j)+J(i-1,j+1)+J(i,j-1)+J(i,j)+J(i,j+1));A0(i,1)=(1/9)*(J(i-1,j)+J(i-1,j+1)+J(i,j)+J(i,j+1)+J(i+1,j)+J(i+1,j+1));A0(i,287)=(1/9)*(J(i-1,j-1)+J(i-1,j)+J(i,j-1)+J(i,j)+J(i+1,j-1)+J(i+1,j+1));endA0(1,1)=(1/9)*(J(i,j)+J(i,j+1)+J(i+1,j)+J(i+1,j+1)); %对四角进行计算A0(1,287)=(1/9)*(J(i,j-1)+J(i,j)+J(i+1,j-1)+J(i+1,j+1));A0(287,1)=(1/9)*(J(i-1,j)+J(i-1,j+1)+J(i,j)+J(i,j+1));A0(287,287)=(1/9)*(J(i-1,j-1)+J(i-1,j)+J(i,j-1)+J(i,j));imshow(A0);线性滤波的图像如图一所示:5010015020025050100150200250图一线性变换(2)非线性滤波,实现图像的统计序滤波,(最大(小)值,中值(median )滤波)模板3*3,5*5,7*7。
数字图像处理实验报告
目录实验一:数字图像的基本处理操作 (4):实验目的 (4):实验任务和要求 (4):实验步骤和结果 (5):结果分析 (8)实验二:图像的灰度变换和直方图变换 (9):实验目的 (9):实验任务和要求 (9):实验步骤和结果 (9):结果分析 (13)实验三:图像的平滑处理 (14):实验目的 (14):实验任务和要求 (14):实验步骤和结果 (14):结果分析 (18)实验四:图像的锐化处理 (19):实验目的 (19):实验任务和要求 (19):实验步骤和结果 (19):结果分析 (21)实验一:数字图像的基本处理操作:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
:实验步骤和结果1.对实验任务1的实现代码如下:a=imread('d:\');i=rgb2gray(a);I=im2bw(a,;subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title('灰度图像');subplot(1,3,3);imshow(I);title('二值图像');subplot(1,3,1);imshow(a);title('原图像');结果如图所示:图原图及其灰度图像,二值图像2.对实验任务2的实现代码如下:a=imread('d:\');A=imresize(a,[800 800]);b=imread('d:\');B=imresize(b,[800 800]);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title('原图像 A'); subplot(3,2,2);imshow(B);title('原图像 B'); subplot(3,2,3);imshow(Z1);title('加法图像'); subplot(3,2,4);imshow(Z2);title('减法图像'); subplot(3,2,5);imshow(Z3);title('乘法图像'); subplot(3,2,6);imshow(Z2);title('除法图像');结果如图所示:3.对实验任务3的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j); %直流分量移到频谱中心I=log(abs(k)); %对数变换m=fftshift(j); %直流分量移到频谱中心RR=real(m); %取傅里叶变换的实部II=imag(m); %取傅里叶变换的虚部A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶变换频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶变换频谱');结果如图所示:4.对实验任务4的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);I=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶频谱');结果如图所示::结果分析对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。
数字图像处理实验四
数字图像处理—实验四一.实验内容:⑴图像的锐化:使用Sobel,Laplacian算子分别对图像进行运算,观察并体会运算结果。
⑵综合练习:对需要进行处理的图像分析,正确运用所学的知识,采用正确的步骤,对图像进行各类处理,以得到令人满意的图像效果。
[3] 编程实现Roberts梯度锐化算法。
二.实验目的:学会用Matlab中的下列函数对输入图像按实验内容进行运算;感受各种不同的图像处理方法对最终图像效果的影响。
imfilter;fspecial;imadjust;三.实验步骤:1.仔细阅读Matlab帮助文件中有关以上函数的使用说明,能充分理解其使用方法并能运用它们完成实验内容。
2.将cameraman.jpg图像文件读入Matlab,使用imfilter函数分别采用Sobel,Laplacian算子对其作锐化运算,显示运算前后的图像。
算子输入方法(两种方法都做):(1)用fspecial函数产生(注意:fspecial仅能产生垂直方向sobel算子,产生Laplacian算子时alpha参数选择0,详见Help)。
(2)直接输入,其中Sobel算子形式为(水平Sobel)(垂直Sobel)Laplacian算子形式为。
对于Sobel算子,采用生成图像;对于Laplacian算子,直接采用计算结果作为锐化后图像。
figure;subplot(2,3,1);i1=imread('D:\images\cameraman.tif');i1=im2double(i1);imshow(i1);title('Input Image');subplot(2,3,2);h=fspecial('sobel');g=h.';T1= imfilter(i1, h);T2=imfilter(i1, g);T3=sqrt(T1.^2+T2.^2);imshow(T3);title('方法一sobel算子'); subplot(2,3,3);h = fspecial('laplacian',0);T4= imfilter(i1, h);imshow(T4);title('方法一laplacian算子'); subplot(2,3,4);dx=[-1 -2 -10 0 01 2 1];dy=[-1 0 1-2 0 2-1 0 1];T5= imfilter(i1, dx);T6= imfilter(i1, dy);T7=sqrt(T1.^2+T2.^2);imshow(T7);title('方法二sobel算子');subplot(2,3,5);h = [0 -1 0-1 4 -10 -1 0];T8= imfilter(i1, h);imshow(T8);title('方法二laplacian算子');3.将skeleton.jpg图像文件读入Matlab,按照以下步骤对其进行处理:1)用带对角线的Laplacian对其处理,以增强边缘。
西安石油大学数字图像处理实验报告四
《数字图像处理》实验四题目图像分割专业班级学号姓名时间实验报告课程名称数字图像处理实验名称图像分割姓名____________ 学号专业班级____ _实验日期成绩______ _指导教师____ _一、实验目的1、掌握图像分割的原理2、掌握基于阈值的分割方法二、实验原理迭代阈值法(1)选择一个初始阈值T1(2)根据初始阈值T1将图像分割为G1和G2两个部分,分别求出G1和G2的平均灰度值m1和m2;(3)计算新的阈值T2= (m1+m2)/2;(4)如果| T1 –T2 |≤ T0,终止迭代。
否则令T1= T2,重复步骤(2)和(3),最后的T2就是所求的最优阈值。
初始阈值T1的选取:当目标与背景面积相当时,将T1设为整幅图像的平均灰度当目标与背景面积相差较远时,将T1设为最大灰度与最小灰度的中间值。
质心型区域生长算法:(1)确定初始种子点,阈值;(2)对图像进行逐行扫描,找出尚没有归属的像素;(3)比较已存在区域的像素灰度平均值与该区域邻接的像素灰度值,若差值小于阈值,则合并;(4)以新合并的像素为中心,重复步骤(3),检查新像素的邻域,直到区域不能进一步扩张;(5)返回到步骤(2),继续扫描直到不能发现没有归属的像素,则结束整个生长过程。
迭代阈值算法原理:三、实验环境操作系统:Windows 8.1软件:Matlab 2016a四、实验内容与步骤1、利用im2bw()实现固定阈值分割,完成对一幅灰度图像的二值分割,调整阈值,记录并分析实验结果;>> yuantu=imread('C:\Users\wangdediannao1\Desktop\a.jpg');%原图如图一所示>> hudutu=rgb2gray(yuantu);>> figure;>> imshow(hudutu); %转化为灰度图像,如图二所示>> bianhuan=im2bw(hudutu,0.3); %实现固定阈值分割, 阈值为0.3>> figure;>> imshow(bianhuan); %显示固定固定阈值分割分割后的图像,如图三所示>> bianhuan1=im2bw(hudutu,0.5); %实现固定阈值分割, 阈值为0.5>> figure;>> imshow(bianhuan1); %显示固定固定阈值分割分割后的图像,如图四所示2、编写迭代阈值法程序,记录迭代得出的最优阈值,利用该阈值实现图像的分割;>> j=double(hudutu);>> t=(min(j(:))+max(j(:)))/2; %设置初始阈值>> done=false;>> i=0;>> while ~doner1=find(j<=t);%找出不大于t的所有像素点索引值r2=find(j>t);%找出大于t的所有像素点索引值tnew=(mean(j(r1))+mean(j(r2)))/2;%计算心得阈值done=abs(tnew-t)<1;t=tnew;i=i+1;end>> j(r1)=0;%小于阈值的为黑>> j(r2)=1;%大于阈值的为白>> figure;>> imshow(j);%显示处理结果如图五所示五、实验结果与分析(可提供屏幕抓图)图一图二图三图四图五六、实验心得与体会熟悉了Matlab软件,以及在Matlab中对于图像处理的方法,对matlab有了一个全新的认识,其次是对matlab中的图像阈值处理操作和命令的使用有了更高的掌握。
实验四图像增强
实验四-图像增强信息工程学院实验报告课程名称:数字图像处理班级: 姓名: 学号:一、实验目的1.了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。
2. 掌握图像空域增强算法的基本原理。
3. 掌握图像空域增强的实际应用及MATLAB 实现。
4. 掌握频域滤波的概念及方法。
5. 熟练掌握频域空间的各类滤波器。
6.掌握怎样利用傅立叶变换进行频域滤波。
7. 掌握图像频域增强增强的实际应用及MATLAB 实现。
二、实验步骤及结果分析1. 基于幂次变换的图像增强 程序代码:clear all ; close all ;I{1}=double(imread('fig534b.tif')); I{1}=I{1}/255;figure,subplot(2,4,1);imshow(I{1},[]);hold on I{2}=double(imread('room.tif')); I{2}=I{2}/255;subplot(2,4,5);imshow(I{2},[]);hold on for m=1:2 Index=0;for lemta=[0.5 5] Index=Index+1;F{m}{Index}=I{m}.^lemta;subplot(2,4,(m-1)*4+Index+1),imshow(F{m}{Index},[]) end end成 绩:指导老师(签名):执行结果:图1 幂次变换增强结果实验结果分析:由实验结果可知,当r<1时,黑色区域被扩展,变的清晰;当r>1时,黑色区域被压缩,变的几乎不可见。
2.直方图规定化处理程序代码:clear allclcclose all%0.读图像I=double(imread('lena.tiff'));subplot(2,4,1);imshow(I,[]);title('原图')N=32;Hist_image=hist(I(:),N);Hist_image=Hist_image/sum(Hist_image);Hist_image_cumulation=cumsum(Hist_image);%累计直方图subplot(245);stem(0:N-1,Hist_image);title('原直方图');%1.设计目标直方图Index=0:N-1;%正态分布直方图Hist{1}=exp(-(Index-N/2).^2/N);Hist{1}=Hist{1}/sum(Hist{1});Hist_cumulation{1}=cumsum(Hist{1});subplot(242);stem([0:N-1],Hist{1});title('规定化直方图1');%倒三角形状直方图Hist{2}=abs(2*N-1-2*Index);Hist{2}=Hist{2}/sum(Hist{2});Hist_cumulation{2}=cumsum(Hist{2});subplot(246);stem(0:N-1,Hist{2});title('规定化直方图2');%2. 规定化处理Project{1}=zeros(N);Project{2}=zeros(N);Hist_result{1}=zeros(N);Hist_result{2}=zeros(N);for m=1:2Image=I;%SML 处理(SML,Single Mapping Law 单映射规则 for k=1:NTemp=abs(Hist_image_cumulation(k)-Hist_cumulation{m});[Temp1,Project{m}(k)]=min(Temp); end%2.2 变换后直方图 for k=1:NTemp=find(Project{m}==k); if isempty(Temp) Hist_result{m}(k)=0; elseHist_result{m}(k)=sum(Hist_imag e(Temp)); end endsubplot(2,4,(m-1)*4+3); stem(0:N-1,Hist_result{m}); title(['变换后的直方图',num2str(m)]); %2.3结果图 Step=256/N; for K=1:NIndex=find(I>=Step*(k-1)&I<Step *k);Image(Index)=Project{m}(k); endsubplot(2,4,(m-1)*4+4),imshow(I mage,[]);title(['变换后的结果图',num2str(m)]); end执行结果:原图0.020.040.060.080.100.020.040.060.080.100.020.040.060.08规定化直方图220400.050.10.150.2变换后的直方图1变换后的结果图1020400.020.040.060.080.10.12变换后的直方图2变换后的结果图2图2 直方图规定化实验结果分析:由实验结果可知,采用直方图规定化技术后,原图的直方图逼近规定化的直方图,从而有相应的变换后的结果图1和变换后的结果图2。
数字图像处理实验4-图像增强(1)
实验时间:200 年月日实验小组:第组组长:组员:组员:指导教师签名:实验情况评定:实验四图像增强(1)实验目的:通过实验掌握下列知识:1、学习常见的图像增强的方法并实际体会图像增强前后画质的变化;2、了解几种不同增强方式用于不同图像处理所取得的效果(全域线性变换和分段线性变换);3、初步掌握简单算法的代码实现的方法;4、初步了解MFC的一些初步编程技巧;内容及步骤一、通过VC实现一个全域线性变换:1、按照前面实验介绍的方法,建立一个ImageProcessing Wizard工程;2、选择菜单里的工程->设置,选择C/C++选项卡,Y分类下拉条里选择CodeGeneration,然后在Struct member alignment中选择1 Byte;3、利用试验三介绍的方法,通过CBmp类读入“pictures”文件夹中的“图片1.bmp”:a.给CxxxxDlg类添加一个成员变量CBmp* bmp1;b.在CxxxxDlg类的消息处理函数OnInitDialog里添加CBmp的初始化代码,以及图形文件的装载代码;c.在CxxxxDlg类的消息处理函数DestroyWindow()里添加如下代码,防止内存泄漏:delete bmp1;3、在CxxxxDlg类的消息处理函数OnOK里,增加如下代码:struct rgb tx;for(int i=0; i<bmp1->nWidth; i++)for(int j=0; j<bmp1->nHeight; j++) {tx = bmp1->pImageData[j*bmp1->nWidth+i];//此处添加图形增强的代码}for(i=0; i<bmp1->nWidth; i++) //此处显示处理后的图形for(int j=0; j<bmp1->nHeight; j++) {tx = bmp1->pImageData[j*bmp1->nWidth+i];pDC->SetPixel(i, j, RGB(tx.red, tx.grn, tx.blu));}4、在上述代码中间添加图形增强的代码,应该注意:读取的是彩色图形,所以在进行全域线性变换时,应针对每一个基色分别进行全域线性变换;5、全域线性变换的参数:a=0,b=255,c=50,d=150;二、通过VC实现一个分段线性变换:1、1-3步骤与上一个实验相同,这里是针对“pictures”文件夹中的“图片2.bmp”,这个实验是针对图形进行分段线性变换;4、分段线性变换的参数为:a=145、b=220、c=175、d=210;5、同样应该注意:读取的是彩色图形,所以在进行分段线性变换时,应针对每一个基色分别进行分段线性变换;6、运行并观察运行结果;实验报告要求:1、记录你编写的全域线性实验代码;2、记录你编写的分段线性实验代码;。
《数字图像处理》实验教案
一、实验目的与要求1. 目的通过本实验,使学生了解数字图像处理的基本概念、方法和算法,掌握MATLAB 软件在图像处理方面的应用,提高学生分析问题和解决问题的能力。
2. 要求(1)熟悉MATLAB软件的基本操作。
(2)了解数字图像处理的基本概念和常用算法。
(3)能够运用MATLAB实现图像处理的基本操作和算法。
二、实验内容与步骤1. 实验内容(1)图像读取与显示。
(2)图像的基本运算(如加、减、乘、除等)。
(3)图像的滤波处理。
(4)图像的边缘检测。
(5)图像的分割与标记。
2. 实验步骤(1)打开MATLAB软件,新建一个脚本文件。
(2)导入所需图像,使用imread()函数读取图像,使用imshow()函数显示图像。
(3)进行图像的基本运算,如加、减、乘、除等,使用imadd()、imsub()、imdiv()、imconcat()等函数。
(4)对图像进行滤波处理,如使用均值滤波、中值滤波等,使用imfilter()函数。
(5)进行图像的边缘检测,如使用Sobel算子、Canny算子等,使用edge()函数。
(6)对图像进行分割与标记,如使用区域生长、阈值分割等方法,使用watershed()函数。
(7)对实验结果进行分析和讨论,总结实验心得。
三、实验注意事项1. 严格遵循实验步骤,确保实验的正确进行。
2. 合理选择参数,如滤波器的尺寸、阈值等。
3. 注意图像数据类型的转换,如浮点型、整型等。
4. 保持实验环境的整洁,避免误操作。
四、实验评价1. 评价内容(1)实验步骤的完整性。
(2)实验结果的正确性。
2. 评价标准(1)实验步骤完整,得分20分。
(2)实验结果正确,得分30分。
总分100分。
五、实验拓展1. 研究不同滤波器对图像滤波效果的影响。
2. 尝试使用其他图像分割算法,如基于梯度的分割方法、聚类分割方法等。
3. 探索图像处理在其他领域的应用,如计算机视觉、医学影像处理等。
六、实验一:图像读取与显示1. 实验目的掌握MATLAB中图像的读取和显示方法,熟悉图像处理的基本界面。
图像处理实验3-4
数字图像处理实验1. 直方图修正灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。
灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。
(1)计算出一幅灰度图像的直方图clearclose allI=imread(' rice.png');imhist(I)title('实验一(1)直方图');(2)对灰度图像进行简单的灰度线形变换,figuresubplot(2,2,1)imshow(I);title('试验2-灰度线性变换');subplot(2,2,2)histeq(I);(3)看其直方图的对应变化和图像对比度的变化原图像f(m,n) 的灰度范围[a,b] 线形变换为图像g(m,n),灰度范围[a’,b’] 公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)figuresubplot(2,2,1)imshow(I)J=imadjust(I,[0.3,0.7],[0,1],1);title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n)/(b-a)进行变换');subplot(2,2,2)imshow(J)subplot(2,2,3)imshow(I)J=imadjust(I,[0.5 0.8],[0,1],1);subplot(2,2,4)imshow(J)(4) 图像二值化(选取一个域值,将图像变为黑白图像)figuresubplot(2,2,1)imshow(I)J=find(I<150);I(J)=0;J=find(I>=150);I(J)=255;title(' 实验一(4)图像二值化( 域值为150 )');subplot(2,2,2)imshow(I)clc;I=imread(‘rice.png');bw=im2bw(I,0.5);%选取阈值为0.5figure;imshow(bw) %显示二值图像2. 图像处理变换1.傅立叶变换熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布. 2.离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.% 图像的FFT变换clc;I=imread('rice.png');subplot(1,2,1)imshow(I);title('原图');subplot(1,2,2)imhist(I);title('直方图');colorbar;J=fft2(I);figure;subplot(1,2,1)imshow(J);title('FFT变换结果');subplot(1,2,2)K=fftshift(J);imshow(K);title('零点平移');figure;imshow(log(abs(K)),[]),colormap(jet(64)),colorbar;title('系数分布图');% 图像的DCT变换RGB=imread('onion.png');figure;subplot(1,2,1)imshow(RGB);title('彩色原图');a=rgb2gray(RGB);subplot(1,2,2)imshow(a);title('灰度图');figure;b=dct2(a);imshow(log(abs(b)),[]),colormap(jet(64)),colorbar; title('DCT变换结果');figure;b(abs(b)<10)=0;% idctc=idct2(b)/255;imshow(c);title('IDCT变换结果');3. 小波变换实验内容:熟悉小波变换的概念和原理,熟悉matlab小波工具箱主要函数的使用.利用二维小波分析对一幅图像作2层小波分解,并在此基础上提取各层的低频信息实现图像的压缩.程序如下:clcclose allcleara=imread('deblur1.png ');subplot(1,2,1);imshow(a);title('原始图像');I=rgb2gray(a);subplot(1,2,2);imshow(I);title('原始图像的灰度图');% 进行二维小波变换[a,b] = wavedec2(I, 2, 'bior3.7');% 提取各层低频信息figure;c = appcoef2( a, b, 'bior3.7', 1 );subplot(1,2,1);imshow(c, []);title('一层小波变换结果');d = appcoef2( a, b, 'bior3.7', 2 );subplot(1,2,2);imshow(d, []);title('二层小波变换结果');4. 模板运算一、实验内容:(1)平滑:平滑的目的是模糊和消除噪声。
数字图像处理及MATLAB实现实验四——图像变换
数字图像处理及MATLAB实现实验四——图像变换1.图像的傅⾥叶变换⼀(平移性质)傅⾥叶变换的平移性质表明了函数与⼀个指数项相乘等于将变换后的空域中⼼移到新的位置,并且平移不改变频谱的幅值。
I=imread('1.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('2.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('3.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));实验结果符合傅⾥叶变换平移性质2.图像的傅⾥叶变换⼆(旋转性质)%构造原始图像I=zeros(256,256);I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐imshow(I)%求原始图像的傅⾥叶频谱J=fft2(I);F=abs(J);J1=fftshift(F);figureimshow(J1,[550])%对原始图像进⾏旋转J=imrotate(I,90,'bilinear','crop');figureimshow(J)%求旋转后图像的傅⾥叶频谱J=fft2(I);F=abs(J);J2=fftshift(F);figureimshow(J2,[550])3.图像的离散余弦变换⼀%对cameraman.tif⽂件计算⼆维DCT变换RGB=imread('cameraman.tif');figure(1)imshow(RGB)I=rgb2gray(RGB);%真彩⾊图像转换成灰度图像J=dct2(I);%计算⼆维DCT变换figure(2)imshow(log(abs(J)),[])%图像⼤部分能量集中在左上⾓处figure(3);J(abs(J)<10)=0;%把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像K=idct2(J)/255;imshow(K)4.图像的离散余弦变换⼆% I=imread('1.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('2.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('3.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% %构造原始图像% I=zeros(256,256);% I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐% imshow(I)% %求原始图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J1=fftshift(F);figure% imshow(J1,[550])% %对原始图像进⾏旋转% J=imrotate(I,90,'bilinear','crop');% figure% imshow(J)% %求旋转后图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J2=fftshift(F);figure% imshow(J2,[550])% %对cameraman.tif⽂件计算⼆维DCT变换% RGB=imread('cameraman.tif');% figure(1)% imshow(RGB)% I=rgb2gray(RGB);% %真彩⾊图像转换成灰度图像% J=dct2(I);% %计算⼆维DCT变换% figure(2)% imshow(log(abs(J)),[])% %图像⼤部分能量集中在左上⾓处% figure(3);% J(abs(J)<10)=0;% %把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像% K=idct2(J)/255;% imshow(K)RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000110000001000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000100000000000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);5.图像的哈达玛变换cr=0.5;I=imread('cameraman.tif');I=im2double(I)/255; %将读⼊的unit8类型的RGB图像I转换为double类型的数据figure(1),imshow(I);%显⽰%求图像⼤⼩[m_I,n_I]=size(I); %提取矩阵I的⾏列数,m_I为I的⾏数,n_I为I的列数sizi=8;snum=64;%分块处理t=hadamard(sizi) %⽣成8*8的哈达码矩阵hdcoe=blkproc(I,[sizi sizi],'P1*x*P2',t,t');%将图⽚分成8*8像素块进⾏哈达码变换%重新排列系数CE=im2col(hdcoe,[sizi,sizi],'distinct');%将矩阵hdcode分为8*8互不重叠的⼦矩阵,再将每个⼦矩阵作为CE的⼀列[Y Ind]=sort(CE); %对CE进⾏升序排序%舍去⽅差较⼩的系数,保留原系数的⼆分之⼀,即32个系数[m,n]=size(CE);%提取矩阵CE的⾏列数,m为CE的⾏数,n为CE的列数snum=snum-snum*cr;for i=1:nCE(Ind(1:snum),i)=0;end%重建图像re_hdcoe=col2im(CE,[sizi,sizi],[m_I,n_I],'distinct');%将矩阵的列重新组织到块中re_I=blkproc(re_hdcoe,[sizi sizi],'P1*x*P2',t',t);%进⾏反哈达码变换,得到压缩后的图像re_I=double(re_I)/64; %转换为double类型的数据figure(2);imshow(re_I);%计算原始图像和压缩后图像的误差error=I.^2-re_I.^2;MSE=sum(error(:))/prod(size(re_I));。
数字图像处理实验四
福建农林大学计算机与信息学院实验报告
系:计算机与信息学院专业:电子信息工程年级:2014级
:吕志缘学号:3146004063 实验室号__明南附203 计算机号
实验时间:20170507 指导教师签字:成绩:
报告退发(订正、重做)
实验四频率域滤波
1.实验目的和要求
掌握二维离散傅立叶变换的计算;
掌握频率域图像的平滑和锐化方法;
2.实验内容和原理
✧根据二维离散傅立叶变换公式计算傅立叶谱,并显示相应的傅立叶谱图
像。
✧利用matlab工具包,实现高斯低通滤波和高通滤波。
3.实验环境
硬件:一般PC机
操作系统:WindowsXP
编程平台:MATLAB 或高级语言
4.算法描述及实验步骤
实验结果
5.
6. 总结
傅立叶变换是线性系统分析的一个有力工具,它能够定量分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪声等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,学习好傅立叶变换很有必要。
其公式如下:。
数字图像处理实验4
数字图像处理实验4福建农林⼤学⾦⼭学院信息⼯程类实验报告系:信息与机电⼯程系专业:电信年级: 2011级姓名:学号:实验课程:数字图像处理实验室号:_ 实验1楼608 实验设备号:实验时间: 2013.6.9 指导教师签字:成绩:实验四图像压缩编码⼀、实验⽬的1.了解有关数字图像压缩的基本概念2.理解有损压缩和⽆损压缩的概念;3.理解图像压缩的主要原则和⽬的;4.了解⼏种常⽤的图像压缩编码⽅式。
5.进⼀步熟悉DCT的概念和原理;6.掌握对灰度和彩⾊图像作离散余弦变换和反变换的⽅法;7.掌握利⽤MATLAB软件进⾏图像压缩。
⼆、实验原理1、图像压缩原理图像压缩主要⽬的是为了节省存储空间,增加传输速度。
图像压缩的理想标准是信息丢失最少,压缩⽐例最⼤。
不损失图像质量的压缩称为⽆损压缩,⽆损压缩不可能达到很⾼的压缩⽐;损失图像质量的压缩称为有损压缩,⾼的压缩⽐是以牺牲图像质量为代价的。
压缩的实现⽅法是对图像重新进⾏编码,希望⽤更少的数据表⽰图像。
信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。
⾼效编码的主要⽅法是尽可能去除图像中的冗余成分,从⽽以最⼩的码元包含最⼤的图像信息。
编码压缩⽅法有许多种,从不同的⾓度出发有不同的分类⽅法,从信息论⾓度出发可分为两⼤类。
(1).冗余度压缩⽅法,也称⽆损压缩、信息保持编码或嫡编码。
具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是⼀种可逆运算。
(2)信息量压缩⽅法,也称有损压缩、失真度编码或烟压缩编码。
也就是说解码图像和原始图像是有差别的,允许有⼀定的失真。
应⽤在多媒体中的图像压缩编码⽅法,从压缩编码算法原理上可以分为以下3类:(1)⽆损压缩编码种类哈夫曼(Huffman)编码,算术编码,⾏程(RLE)编码,Lempel zev编码。
(2)有损压缩编码种类预测编码,DPCM,运动补偿;频率域⽅法:正交变换编码(如DCT),⼦带编码;空间域⽅法:统计分块编码;模型⽅法:分形编码,模型基编码;基于重要性:滤波,⼦采样,⽐特分配,向量量化;(3)混合编码。
数字图像处理实验报告
数字图像处理实验报告图像处理课程的目标是培养学生的试验综合素质与能力。
使学生通过实践,理解相关理论学问,将各类学问信息进行新的组合,制造出新的方法和新的思路,提高学生的科学试验与实际动手操作能力[1]。
从影像科筛选有价值的图像,建成影像学数字化试验教育平台,系统运行正常;具备图像上传、图像管理、图像检索与扫瞄、试验报告提交、老师批阅等功能;能满意使用要求[2]。
1.试验内容设计思路1.1项目建设内容和方法数字图像处理的内容:完整的数字图像处理大体上分为图像信息的猎取,存储,传送,处理,输出,和显示几个方面。
数字图像信息的猎取主要是把一幅图像转换成适合输入计算机和数字设备的数字信号,包括摄取图像,光、电转换及数字化。
数字图像信息的存储,数字图像信息的突出特点是数据量巨大,为了解决海量存储问题,数字图像的存储主要研究图像压缩,图像格式及图像数据库技术。
数字图像信息的传送数字图像信息的传送可分为系统内部传送与远距离传送[4]数字图像信息处理包括图像变换,图像增加,图像复原,彩色与多光谱处理图像重建,小波变换,图像编码,形态学,目标表示与描述。
数字图像输出和显示,最终目的是为人和机器供应一幅便于解释和识别的图像,数字图像的输出和显示也是数字图像处理的重要内容之一。
1.2数字图像处理的方法大致可以分为两大类,既空域法和频域法空域法:是把图像看做平面中各个像素组成的集合,然后直接对一维和二维函数进行相应处理,依据新图像生成方法的不同,空域处理法可为点处理法,区处理法,叠代处理法,跟踪处理法,位移不变与位移可变处理法。
点处理法的优点,点处理的典型用途a)灰度处理b)图像二值处理点处理方法的优点a)可用LUT方法快速实现b)节省存储空间。
区处理法,邻域处理法。
它依据输入图像的小邻域的像素值,按某些函数得到输出像素。
区处理法主要用于图象平滑和图像的锐化。
叠代处理法:叠代就是反复进行某些处理运算,图像叠代处理也是如此,拉普拉斯算子或平滑处理的结果是物体轮廓,该图像轮廓边缘太宽或粗细不一,要经过多次叠代把它处理成单像素轮廓——图像细化。
数字图像处理-实验四
三、实验步骤:
1 .创建一个 GUI 用户界面窗口(如下图所示) 用户界面窗口( 下图所示 所示)
2 .编辑该 GUI 所对应的 m 文件,具体程序如下 文件,
(1)原始图像部分: B=imread('peppers.tif'); subplot(2,2,1); imshow(B); title('原始图像');
图像复原实验 一、 实验目的及要求:
利用反向滤波和维纳滤波进行图像复原。
二、实验内容:
(1)给定一个图像及其降值图像,分别为 peppers.tif 和 peppers_degraded.tif。降值模型由下式给出, 与降值图像相关的参数是: N = 256, n = 5, r0 = 36 。
H (u, v ) =
专业:是指所作实验针对的学生所学专业
for u=1:256 for v=1:256 p(u,v)=abs(h(u,v)^2)/(abs(h(u,v)^2)+17); f(u,v)=p(u,v)*g(u,v)/h(u,v); end end f=ifftshift(f); f=abs(ifft2(f)); fmax=max(max(f)); fmin=min(min(f)); step=fmax-fmin; for e=1:256 for o=1:256 f(e,o)=(f(e,o)-fmin)/step; end end subplot(2,2,4); imshow(f); title('维纳滤波的复原图像'); 实验运行结果:
1 u2 + v2 1+ r2 0
n
u, v = − N / 2,− N / 2 + 1,...,−1,0,1,..., N / 2 − 1
数字图像处理实验四
电子工程学院数字图像处理课程实验报告g = imbinarize(f, T/255); %二值化图像阈值分割figure(1);subplot(221);imshow(f);title('原图像');subplot(222);imshow(g);title('basic global thresholding');se=strel('ball',8,8); % 创建球体,半径8f1=imdilate(I,se); %膨胀subplot(223)imshow(f1);title('膨胀后图像');f2=imbinarize(f1); %二值化图像阈值分割subplot(224)imshow(f2);title('分割标记后图像');%Otsu方法二值化图像I = imread('C:\picture\256.tif');J = imnoise(I, 'salt & pepper',0.02); %添加噪声figure(2);subplot(231);imshow(I);title('原图像');subplot(232);imshow(J);title('加椒盐噪声后的图像');k = medfilt2(J,[5 5]);subplot(233);imshow(k);title('5x5模板中值滤波')T=graythresh(k); %最大类间方差法找到图片的一个合适的阈值g=imbinarize(f,T);subplot(234);imshow(g);title('Otsu方法二值化图像');se=strel('ball',8,8); % 创建球体,半径8f1=imdilate(I,se);subplot(235)imshow(f1);title('膨胀后图像');f2=imbinarize(f1);[f2,N]=bwlabel(f2,8);subplot(236)imshow(f2);title('分割标记后图像');六、心得体会(思考与创新、建议等)思考题:1、除了形态学方法用其他方法如何实现图像分割?答:阈值分割:图像分割的经典方法是基于灰度阈值的分割方法,它通过设置阈值,把像素点按灰度级分若干类,从而实现图像分割;区域分割:利用的是图像的空间性质,认为分割出来的属于同一区域的像素应具有相似的性质;运动分割:研究对象通常是图像序列,图像序列的每一幅为一帧,不同时刻采集的多帧图像中包含了存在于相机与景物之间的相对运动信息。
《数字图像处理》实验教案
《数字图像处理》实验教案一、实验目的1. 理解数字图像处理的基本概念和原理;2. 掌握常用的数字图像处理方法和技术;3. 培养实际操作数字图像处理工具的能力;4. 提高对数字图像处理问题的分析和解决能力。
二、实验内容1. 图像读取与显示:使用图像处理软件,读取、显示和保存不同格式的图像文件;2. 图像基本运算:进行图像的加、减、乘、除等基本运算;3. 图像滤波:使用低通滤波器、高通滤波器、带通滤波器等对图像进行滤波处理;4. 图像增强:采用直方图均衡化、对比度增强等方法改善图像质量;5. 边缘检测:使用Sobel算子、Canny算子等方法检测图像边缘。
三、实验原理1. 图像读取与显示:介绍图像处理软件的基本操作,掌握图像文件格式的转换;2. 图像基本运算:介绍图像像素的运算规则,理解图像基本运算的原理;3. 图像滤波:介绍滤波器的原理和应用,掌握滤波器的设计和实现方法;4. 图像增强:介绍图像增强的目的和方法,理解直方图均衡化和对比度增强的原理;5. 边缘检测:介绍边缘检测的原理和算法,掌握不同边缘检测方法的特点和应用。
四、实验步骤1. 图像读取与显示:打开图像处理软件,选择合适的图像文件,进行读取、显示和保存操作;2. 图像基本运算:打开一幅图像,进行加、减、乘、除等基本运算,观察结果;3. 图像滤波:打开一幅图像,选择合适的滤波器,进行滤波处理,观察效果;4. 图像增强:打开一幅图像,选择合适的增强方法,进行增强处理,观察质量改善;5. 边缘检测:打开一幅图像,选择合适的边缘检测方法,进行边缘检测,观察边缘效果。
五、实验要求1. 熟练掌握图像处理软件的基本操作;2. 能够正确进行图像的基本运算;3. 能够合理选择和应用不同类型的滤波器;5. 能够根据图像特点选择合适的边缘检测方法。
六、实验环境1. 操作系统:Windows 10或更高版本;2. 图像处理软件:MATLAB或OpenCV;3. 编程环境:MATLAB或C++;4. 硬件要求:普通计算机或服务器。
数字图像处理四个实验
数字图像处理实验报告班级:学号:姓名:目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割实验五形态学运算实验一MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理及知识点数字图像:一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
三、实验内容及步骤1.利用imread( )函数读取一幅图像,存入一个数组中;I=imread('lily'.tif');2.利用whos 命令提取该读入图像flower.tif的基本信息;whos I3.利用imshow()函数来显示这幅图像;imshow(I);4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;imfinfo('lily.tif');5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;imwrite(I,'flower.jpg','quality',50);6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。
imwrite(I,'flower.bmp');7.用imread()读入图像:Lenna.jpg 和camera.jpg;M=imread('Lenna.jpg'); N=imread('camera.jpg');8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;imfinfo('Lenna.jpg'); imfinfo('camera.jpg');9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
数字图像处理实验四
数字图像处理实验四图像复原一、实验目的了解matlab有关图像复原的操作,如图像的读写,显示,加噪声,去噪声等。
二、实验要求1、使用不同模糊化方法对图像Lena进行模糊处理,对原图像及模糊化图像进行比较(注明模糊化的类型),并保存模糊图像。
(此题中所用的图像和保存的图像在Images文件夹中)I = imread('lena.tif'); %读入图像subplot(221);imshow(I);title('原始图像');H=fspecial('motion',30,45); %运动模糊PSFMotionBlur=imfilter(I,H); %卷积imwrite(MotionBlur,'运动模糊.tif'); %保存运动模糊图像subplot(222);imshow(MotionBlur);title('运动模糊图像');H=fspecial('disk',10); %圆盘状模糊PSFbulrred=imfilter(I,H);imwrite(bulrred,'圆盘状模糊.tif'); %保存圆盘状模糊图像subplot(223);imshow(bulrred);title('圆盘状模糊图像');H=fspecial('unsharp'); %钝化模糊PSFSharpened=imfilter(I,H);imwrite(Sharpened,'钝化模糊.tif'); %保存钝化模糊图像subplot(224);imshow(Sharpened);title('钝化模糊图像');原始图像运动模糊图像圆盘状模糊图像钝化模糊图像2、对图像Lena添加不同类型的噪声,对原图像及噪声图像进行比较(注明加入噪声的类型,及噪声参数),并保存噪声图像。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
农林大学计算机与信息学院实验报告
系:计算机与信息学院专业:电子信息工程年级:2014级
:吕志缘学号:3146004063 实验室号__明南附203 计算机号
实验时间:20170507 指导教师签字:成绩:
报告退发(订正、重做)
实验四频率域滤波
1.实验目的和要求
掌握二维离散傅立叶变换的计算;
掌握频率域图像的平滑和锐化方法;
2.实验容和原理
✧根据二维离散傅立叶变换公式计算傅立叶谱,并显示相应的傅立叶谱图
像。
✧利用matlab工具包,实现高斯低通滤波和高通滤波。
3.实验环境
硬件:一般PC机
操作系统:WindowsXP
编程平台:MATLAB 或高级语言
4.算法描述及实验步骤
实验结果
5.
6. 总结
傅立叶变换是线性系统分析的一个有力工具,它能够定量分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪声等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,学习好傅立叶变换很有必要。
其公式如下:。