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

合集下载

工作报告之图像处理实验报告

工作报告之图像处理实验报告

图像处理实验报告【篇一:数字图像处理实验报告】数字图像处理实验报告班级:通信103学号:201027201姓名:计富威指导教师:孙洁实验一 matlab数字图像处理初步一、实验目的与要求1.熟悉及掌握在matlab中能够处理哪些格式图像。

2.熟练掌握在matlab中如何读取图像。

3.掌握如何利用matlab来获取图像的大小、颜色、高度、宽度等等相关信息。

4.掌握如何在matlab中按照指定要求存储一幅图像的方法。

5.图像间如何转化。

二、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为”第一个.tif”,存入一个数组中;i=imread(第一个.tif);2.利用whos命令提取该读入图像”第一个.tif”的基本信息; whos i3.利用imshow()函数来显示这幅图像;imshow(i);第一个.tif4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;imfinfo(第一个.tif);5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

imwrite(i,第一个.jpg,quality,50)6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。

imwrite(i,第一个.bmp);7.用imread()读入图像:lenna256.jpg 和camemaman.jpg;b=imread(lena256.bmp);c=imread(cameraman.tif);8.用imfinfo()获取图像lenna256.jpg和camemaman.jpg 的大小;imfinfo(lena256.bmp);imfinfo(cameraman.tif);9.用figure,imshow()分别将lenna256.jpg和camemaman.jpg显示出来,观察两幅图像的质量。

数字图像处理实验报告-基于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数字图像处理四个实验

数字图像处理实验指导书目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割3实验一 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类,则像素取值就是浮点数。

MATLAB图像增强与变换处理实验报告

MATLAB图像增强与变换处理实验报告

实验一 MATLAB图像增强与变换处理实验一、实验目的1、熟悉掌握数字图像处理的基本概念。

2、了解MATLAB的的编程环境,图像处理工具箱的使用方法。

3、掌握数字图像处理图像增强的基本方法。

4、掌握图像变换的基本方法。

5、学会使用MATLAB完成图像处理的主要功能。

二、实验任务(1)各种格式的数字图像的读取、显示、存储。

1.1 程序a=imread('liusuo.tif');%tiffigureimshow(a)imwrite(a,'liusuostore.tif','compression','none','resolution',[200 200])a=imread('liuyifei.jpg');%jpgfigureimshow(a)imwrite(a,'liuyifeistore.jpg')a=imread('iloveyou.gif');%giffigureimshow(a)imwrite(a,'iloveyoustore.gif')a=imread('blue.png');%pngfigureimshow(a)imwrite(a,'bluestore.png')1.2效果(2)图像的空域增强方法。

2.1亮度变换2.1.1程序a = imread('liuyifei.jpg');%jpgimshow(a)g1 = imadjust(a,[0 0.5],[0 1]);figureimshow(g1)g2 = imadjust(a,[0.5 1],[0 1]);figureimshow(g2)2.1.2效果图2.2直方图均衡化2.2.1程序a = imread('menghui.jpg');%jpgb = rgb2gray(a);imshow(b)figureimhist(b)ylim('auto')g=histeq(b,256);figureimshow(g)figureimhist(g)ylim('auto')g2 = imadjust(b,[0.2 0.9],[0 1]);figureimhist(g2)figureimshow(g2)2.2.2效果2.3 直方图规定化2.3.1程序a = imread('yueqiu1.jpg');%jpgb = rgb2gray(a);imshow(b)figureimhist(b)p= modegauss(0.01, 0.1, 0.55, 0.06,0.8 ,0.04 ,1,0.1,0.1, 0.002); figureplot(p)g = histeq( b , p );figureimshow(g)figureimhist(g)2.3.2 效果2.4 线性空间滤波2.4.1 程序a = imread('heibai.jpg');%jpgb = rgb2gray(a);subplot(121)imshow(b)n = 7;w =1/n*ones(n);gd = imfilter( b ,w );subplot(122)imshow(gd, [])2.4.2 效果2.4.2.1均值滤波a = imread('meinv.jpg');%jpgb = rgb2gray(a);figureimshow(b)g=imnoise(b,'salt & pepper',0.01);figureimshow(g)gd3 = imfilter(g,fspecial('average',3) );figureimshow(gd3)gd5 = imfilter(g,fspecial('average',5) );figureimshow(gd5)gd7 = imfilter(g,fspecial('average',7) );figureimshow(gd7)gd9 = imfilter(g,fspecial('average',9) );figureimshow(gd9)2.4.2.2 效果2.4.3拉普拉斯增强2.4.3.1程序a = imread('yueqiu.jpg');%jpgb = rgb2gray(a); figure imshow(b) b2 = im2double(b);gb1 = imfilter(b2,fspecial('laplacian',0),'replicate' );figure imshow(gb1,[])gb2 = imfilter(b2,[1 1 1; 1 -8 1; 1 1 1],'replicate' ); figure imshow(gb2,[]) g1 = b2-gb1; figure imshow(g1) g2 = b2-gb2; figure imshow(g2)2.4.3.2 效果2.5非线性中值滤波2.5.1 程序a = imread('yangguang.jpg');%jpgb = rgb2gray(a);figureimshow(b)g=imnoise(b,'salt & pepper',0.01); figureimshow(g)gm = medfilt2(g);figureimshow(gm)(3)图像的频率域增强方法。

(最新版)河北工业大学数字图像处理之matlab实验报告

(最新版)河北工业大学数字图像处理之matlab实验报告

实验一一、实验要求1、熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱,为编写图像处理程序奠定基础。

2、掌握二进制(黑白)图像、灰度图像、彩色图像读、写和显示的基本方法,分别选择以上几种类型的图像,观察其图像类型参数。

3、说明以下程序的显示结果为何是一幅几乎全黑的图像。

clear; close all;myi=zeros(20,20);myi(2:2:18,2:2:18)=1;myi=uint8(myi);figure, imshow(myi,'notruesize');编写程序将图一中orangutan_1.tif图片拉伸一倍后形成orangutan_2.tif所示的图片。

4、应用MATLAB(或C)语言编写一幅灰度图像直方图统计程序,并选择一幅图像显示其直方图,将结果与MATLAB图像处理工具箱中提供的灰度直方图函数imhist的处理结果进行比较。

5、利用以上编写的程序,估算图一所示图像iris.tif中的瞳孔半径(以像素为单位)。

orangutan_1.tif orangutan_2.tif iris.tif图一二、实验内容1,通过安装matlab软件,熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱2,图像的读、写、显示和图像类型参数查看通过 I= imread(FILENAME),读取图像,注意FILENAME=‘图像文件所在的位置+文件名’;1)通过imwrite(a,FILENAME,fmt),可以把a图像写进FILENAME图像,即是替换掉FILENAME,但是文件图像格式不替换。

2)通过imshow(I),可以把I图像显示出来。

3)例如:在matlab软件中,运行如下命令:I = imread('E:\orangutan_2.tif');figure,imshow(I)I1 = imread('E:\iris.tif');figure,imshow(I1)imwrite(I,'E:\iris.tif','tif')I2 = imread('E:\iris.tif');figure,imshow(I2)原图:orangutan_2.tif iris.tif运行结果:可以看到orangutan_2.tif已成功写入 iris.tif中。

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(GUI)数字图像处理实验报告(可打印修改) (2)

2012—2013学年第二学期课程名称:教学实践Ⅱ:软硬件提高训练任课教师:题目:MATLAB数字图像处理学号:ROB12023姓名:年级:2012级专业:自动化提交日期:年月日评语:成绩:评卷人:1.设计目的利用MATLAB的GUI程序设计一个简单实用的图像处理程序。

该程序应具备图像处理的常用功能,以满足要求。

2.设计要求设计程序有以下基本功能:1)图像的读取、保存和程序退出2)图像转化为灰度图像3)底片处理(反色)4)截图5)亮度和对比度度调节6)图像的翻转与旋转7)添加噪声8)平滑和锐化9)直方图均衡化处理10)图像的腐蚀和膨胀11)边缘检测12)还原和撤销3.总体设计4.程序与运行结果4.1图像的读取、保存和程序退出1.图像读取1)主要程序A=imread(str)%读取图片imshow(A) %显示图片2)运行结果2.图像保存1)主要程序imwrite(handles.img,sfilefullname); %图像的保存2)运行结果3.退出1)主要程序close all; %关闭所有2)运行结果(略)4.2图像转化为灰度图像1)主要程序C=rgb2gray(img); %将rgb彩色图像转换为灰度图2)运行结果4.3底片处理(反色)1)主要程序I=imcomplement(handles.img); %底片处理(反色)2)运行结果4.4截图1)主要程序a=imcrop(handles.img); %图像的截取2)运行结果4.5亮度和对比度度调节1.亮度调节1)主要程序y=imadjust(handles.img,[ ], [ ],p1); %亮度调节2)运行结果2.对比度调节1)主要程序f=immultiply(handles.img,p1); %对比度增强f=imdivide(handles.img,p1); %对比度减弱2)运行结果4.6图像的翻转与旋转1.图像的翻转1)主要程序fliplr(b) %图像的翻转2)运行结果2.图像的旋转1)主要程序f=imrotate(handles.img,p1,'bilinear','crop'); %图像的旋转2)运行结果4.7添加噪声1.椒盐噪声1)主要程序f=imnoise(handles.img,'salt & pepper',p1); %添加椒盐噪声2)运行结果2.高斯噪声1)主要程序f=imnoise(handles.img,'gaussian',p1,p2); %添加高斯噪声2)运行结果3.乘法噪声1)主要程序f=imnoise(handles.img,'speckle',p1); %添加乘法噪声2)运行结果4.8平滑和锐化1.平滑1)主要程序Imfilter % 均值滤波medfilt2% 中值滤波2)运行结果2.锐化1)主要程序fspecial( ) %创建预定义的滤波算子imfilter( );imadd( ); %在实现卷积运算的基础上进行滤波2)运行结果4.9直方图均衡化处理1.灰度图像1)主要程序B=histeq (C); %直方图均衡化函数2)运行结果2.RGB 图像1)主要程序B=histeq (C); %直方图均衡化函数2)运行结果4.10 图像的腐蚀和膨胀1.图像的腐蚀1)主要程序I1=imerode(handles.img,se); %图像的腐蚀2)运行结果2.图像的膨胀1)主要程序I1=i mdilate(handles.img,se); %图像的膨胀4.11 边缘检测1)主要程序rslt=ycbcr2rgb(uint8(img2)); %边缘检测2)运行结果1.还原global S%设计一个全局变量S,保存初始图像路径,以便之后的还原操作2)运行结果2.撤销(只能撤销一次)1)主要程序global T%设计一个全局变量S,保存每次操作原图像,以便撤销操作2)运行结果5.心得体会通过用MATLAB(GUI)设计数字图像处理界面,我掌握了有关数字图像处理的相关知识和GUI的操作知识,让理论知识与实际相结合,做出了数字图像处理的图形用户界面。

数字图像处理实验(MATLAB版)

数字图像处理实验(MATLAB版)数字图像处理(MATLAB版)实验指导书(试用版)湖北师范学院教育信息与技术学院2009年4月试行目录实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理101实验六、图像压缩11 实验七、图像分割13 教材与参考文献142《数字图像处理》实验指导书实验一、数字图像获取和格式转换一、实验目的1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。

二、实验原理数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。

各类设备都标明了它的光学分辨率和最大分辨率。

分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。

扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启3动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。

为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD 上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。

至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。

扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。

扫描仪工作原理见图1.1。

4图1.1扫描仪的工作原理在扫描仪的工作过程中,有两个元件起到了关键的作用。

一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。

河北工业大学数字图像处理之matlab实验报告

实验一一、实验要求1、熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱,为编写图像处理程序奠定基础。

2、掌握二进制(黑白)图像、灰度图像、彩色图像读、写和显示的基本方法,分别选择以上几种类型的图像,观察其图像类型参数。

3、说明以下程序的显示结果为何是一幅几乎全黑的图像。

clear; close all;myi=zeros(20,20);myi(2:2:18,2:2:18)=1;myi=uint8(myi);figure, imshow(myi,'notruesize');编写程序将图一中orangutan_1.tif图片拉伸一倍后形成orangutan_2.tif所示的图片。

4、应用MATLAB(或C)语言编写一幅灰度图像直方图统计程序,并选择一幅图像显示其直方图,将结果与MATLAB图像处理工具箱中提供的灰度直方图函数imhist的处理结果进行比较。

5、利用以上编写的程序,估算图一所示图像iris.tif中的瞳孔半径(以像素为单位)。

orangutan_1.tif orangutan_2.tif iris.tif图一二、实验内容1,通过安装matlab软件,熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱2,图像的读、写、显示和图像类型参数查看通过 I= imread(FILENAME),读取图像,注意FILENAME=‘图像文件所在的位置+文件名’;1)通过imwrite(a,FILENAME,fmt),可以把a图像写进FILENAME图像,即是替换掉FILENAME,但是文件图像格式不替换。

2)通过imshow(I),可以把I图像显示出来。

3)例如:在matlab软件中,运行如下命令:I = imread('E:\orangutan_2.tif');figure,imshow(I)I1 = imread('E:\iris.tif');figure,imshow(I1)imwrite(I,'E:\iris.tif','tif')I2 = imread('E:\iris.tif');figure,imshow(I2)原图:orangutan_2.tif iris.tif运行结果:可以看到orangutan_2.tif已成功写入 iris.tif中。

MATLAB数字图像处理实验--图像基本运算

MATLAB数字图像处理实验--图像基本运算一、实验目的1.理解图像点运算、代数运算、几何运算的基本定义和常见方法;2.掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法;3.掌握在MATLAB中进行插值的方法4.运用MATLAB语言进行图像的插值缩放和插值旋转5.进一步熟悉了解MATLAB语言的应用。

二、实验设备与软件1.PC计算机系统2.MATLAB软件,包括图像处理工具箱(Image Processing Toolbox)3.实验图片三、实验内容及结果分析3.1图像的点运算选择pout.tif作为实验图像,实验原理及内容参照《MATLAB图像处理编程及应用》程序代码:I=imread('pout.tif');figure;subplot(1,3,1);imshow(I);title('原图');J=imadjust(I,[0.3;0.6],[0.1;0.9]);subplot(1,3,2);imshow(J);title('线性扩展');I1=double(I);I2=I1/255;C=2;K=C*log(1+I2);subplot(1,3,3);imshow(K);title('非线性扩展');M=255-I;figure;subplot(1,3,1);imshow(M);title('灰度倒置');N1=im2bw(I,0.4);N2=im2bw(I,0.7);subplot(1,3,2);imshow(N1);title('二值化阈值0.4');subplot(1,3,3);imshow(N2);title('二值化阈值0.7');执行结果:原图线性扩展非线性扩展灰度倒置二值化阈值0.4二值化阈值0.7实验1结果图3.2图像的代数运算选择两幅图像,一幅是原图像,一幅为背景图像,采用正确的图像代数运算方法,分别实现图像叠加、混合图像的分离和图像的局部显示效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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('原始图像直方图')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中对数字图像的处理;实验原理:图像和其他信号一样,既能在空间域处理,也能在频率域处理。

把图像信息从空域变换到频域,可以更好的分析加工处理。

因为图像信息的频域处理具有如下特点:(1)能量守恒,但能量重新分配;(2)有利于提取图像的某些特征;(3)正交变换具有能量集中作用,可以实现图像的高效压缩编码;(4)频域用快速算法;实验器材:电脑 matlab软件实验内容:(1)了解正交变换基本概念(2)掌握图像的离散傅里叶和离散余弦变换(3)熟悉图像的沃尔什及哈达玛变换实验过程如下:傅里叶变换I = imread('E:\dog.jpg')I = rgb2gray(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('灰度图像');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 wh=wh';灰度图像二维离散余弦变换-10-8-6-4-20246810subplot(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:180;[R,xp]=radon(I,theta);figure;imshow(R,[],'Xdata',theta,'Ydata',xp,... 'InitialMagnification','fit')xlabel('\theta (degrees)')ylabel('x''') colormap(hot),colorbariptsetpref('ImshowAxesVisible','off')20406080100120(degrees)5010015010203040506070实验三实验名称:图像的复原实验目的: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');%边缘滤波%增加运动滤波,水平边缘增强,拉普拉斯滤波rgb=imread('E:\dog.jpg');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产生线性滤波器rgb=imread('E:\dog.jpg');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('高斯滤波') subplot(2,2,4),imshow(rgb3)I=imread('E:\dog.jpg');%二值化函数的输入图像既可以是彩色图像也可以是灰度图像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中对数字图像的处理;实验原理:数字图像处理主要目的:一是对图像进行加工和处理,得到满足人的视觉和心理需要的改变进行式。

相关文档
最新文档