实验一图像处理基本操作
图像处理实验报告

图像处理实验报告图像处理实验报告一、引言图像处理是计算机科学与工程领域的一个重要研究方向,它涉及到对数字图像进行获取、处理、分析和显示等一系列操作。
本实验旨在通过使用图像处理技术,对一幅给定的数字图像进行处理和分析,以探索图像处理的原理和应用。
二、实验目的本实验有以下几个目的:1. 理解图像处理的基本概念和原理;2. 掌握图像处理的常用技术和方法;3. 熟悉图像处理软件的使用。
三、实验步骤1. 图像获取在本实验中,我们选择了一张风景图作为实验对象。
该图像是通过数码相机拍摄得到的,保存在计算机中的文件格式为JPEG。
我们使用图像处理软件将该图像导入到程序中,以便进行后续的处理和分析。
2. 图像预处理在进行图像处理之前,我们需要对图像进行预处理。
预处理的目的是去除图像中的噪声、平滑图像的边缘等。
我们使用了均值滤波和中值滤波两种常用的图像平滑方法。
通过对比两种方法的效果,我们可以选择合适的方法来进行图像预处理。
3. 图像增强图像增强是指通过一系列的操作,使得图像在视觉上更加鲜明、清晰、易于观察。
在本实验中,我们使用了直方图均衡化和灰度拉伸两种图像增强方法。
直方图均衡化通过对图像的像素值进行变换,使得图像的直方图更加均匀,从而增强图像的对比度。
灰度拉伸则是通过对图像的像素值进行线性变换,将图像的灰度范围拉伸到更广的范围内,从而增强图像的细节。
4. 图像分割图像分割是将图像分成若干个互不重叠的区域,每个区域具有一定的意义和特征。
在本实验中,我们使用了阈值分割和边缘检测两种图像分割方法。
阈值分割是指通过设置一个合适的阈值,将图像中的像素分为两个类别。
边缘检测则是通过检测图像中的边缘信息,将图像分割为不同的区域。
5. 图像特征提取图像特征提取是指从图像中提取出具有一定意义和特征的信息。
在本实验中,我们选择了纹理特征和颜色特征两种常用的图像特征提取方法。
纹理特征提取通过对图像的纹理进行分析,提取出图像的纹理特征。
数字图像处理实验报告完整版

数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
实验1-Matlab基本与图像处理基本操作

图像处理工具箱简介
01
MATLAB图像处理工具箱是MATLAB软件中一个专门用于图像处理的工具箱, 它提供了一套完整的图像处理和分析工具,包括图像读取、显示、变换、滤波 、增强、分割、特征提取等功能。
02
该工具箱支持多种图像格式,如BMP、JPG、PNG、TIFF等,并提供了丰富的 图像处理函数和算法,方便用户进行图像处理和分析。
对未来学习的展望
• 深入学习图像处理算法:在未来的学习中,我们将进一步深入学习图像处理的 各种算法和原理,包括图像分割、特征提取、目标检测等,以便更好地应用在 实际问题中。
• 掌握更多图像处理软件:除了Matlab软件外,我们还将学习掌握其他常用的 图像处理软件,如OpenCV、Python图像处理库等,以便更灵活地处理各种 图像问题。
02
学习图像处理基本 操作
了解图像处理基本概念,学习图 像读取、显示、保存等基本操作。
03
掌握图像处理常用 函数
熟悉MATLAB中图像处理工具箱 的常用函数,如图像调整、滤波、 边缘检测等。
实验环境准备
MATLAB软件
确保计算机已安装MATLAB软件,并熟悉软件基 本操作。
图像处理工具箱
安装并配置MATLAB图像处理工具箱,以便进行 图像处理实验。
• 加强实验数据分析处理能力:在未来的实验中,我们将更加注重实验数据的分 析和处理,学习掌握更多的数据处理方法和技巧,以便更准确地评估实验结果 和性能。
• 拓展应用领域:图像处理技术在实际应用中具有广泛的应用领域,如医学影像 处理、智能交通、安全监控等。在未来的学习中,我们将积极探索这些应用领 域,并尝试将所学的图像处理技术应用到实际问题中。
使用图像处理工具箱中的特 征提取函数和分类器函数, 对图像进行特征提取和分类 识别。例如,可以使用灰度 共生矩阵提取图像纹理特征, 然后使用支持向量机(SVM) 进行分类识别。
数字图像处理实验报告

目录实验一:数字图像的基本处理操作 (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()等函数。
《图像处理》实验指导书

现场考核(60%)+实验报告(40%)
七、实验报告
实验结束后,撰写实验报告,实验报告主题部分应包括:算法原理、程序流程、算法各部分主 要函数代码以及功能注释、运行结果四部分,每部分占实验报告的 10%,按照撰写情况打分。
《图像处理》实验二 图像增强பைடு நூலகம்
一、实验意义及目的
(1)进一步掌握图像处理工具 Matlab,熟悉基于 Matlab 的图像处理函数。 (2)掌握各种图像增强方法。
功能:实现两幅图像相除。
调用格式:
C=imdivide(A,B)。
四、参考代码
参考代码中实现了彩色图像的灰度化、旋转、缩放两种几何变换以及镜像及拼接。
Image1=imread('peppers.jpg'); %红绿通道互换 Image2=Image1; Image2(:,:,1)=Image1(:,:,2); Image2(:,:,2)=Image1(:,:,1); imshow(Image2); imwrite(Image2,'changecolor.jpg');
《图像处理》实验指导书
蔡利梅 编
信息与电气工程学院
学生实验守则
一、学生进入实验室必须遵守实验室的规章制度,遵守课堂纪律,保持实验室的安静和整洁,爱护 实验室的一切设施。 二、实验课前要认真预习实验指导书,写出实验预习报告,并经教师批阅后方可进行实验。 三、实验课中要遵守操作规程,不要带电连接、更改或拆除线路。线路接好后,经指导老师检查后, 方可接通电源进行实验。对于软件上机实验,不得随意删改计算机中原有的文件。 四、学生实验前对实验所用仪器设备要了解其操作规程和使用方法,凡因不预习或不按使用方法进 行操作而造成仪器设备损坏者,除书面检查外,按学校规定进行赔偿。 五、实验中主意安全,遇到事故应立即关断电源并报告教师检查处理。 六、实验完毕后要做好整理工作,实验数据必须经指导教师签阅后,才能拆除线路,并将仪器、设 备、凳子等按规定放好,经同意后方可离开实验室。 七、因故缺课的学生可向实验室申请一次补做机会。无故缺课或无故迟到(15 分钟以上)的不予补 做,该次实验无成绩;累计三次者,该实验课以不及格论,并不得参加该门理论课程的考试。 八、实验室仪器设备不能擅自搬动调换,更不能擅自带出实验室。
数字图像处理实验一图像的基本操作和基本统计指标计算实验报告.doc

实验一图像的基本操作和基本统计指标计算一、实验目的熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。
对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。
了解计算图像的统计指标的方法及其在图像处理中的意义。
了解图像的几何操作,如改变图像大小、剪切、旋转等。
二、实验主要仪器设备(1)台式计算机或笔记本电脑(2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT))(3)典型的灰度、彩色图像文件三、实验原理(1)将一幅图像视为一个二维矩阵。
(2)利用MATLAB图像处理工具箱读、写和显示图像文件。
①调用imread函数将图像文件读入图像数组(矩阵)。
例如“I=imread(‘tire.tif’);”。
其基本格式为:“A=imread(‘filename.fmt’)”,其中,A为二维矩阵,filename.为文件名,fmt 为图像文件格式的扩展名。
②调用imwrite函数将图像矩阵写入图像文件。
例如“imwrite(A,’test_image.jpg’);”。
其基本格式为“imwrite(a,filename.fmt)”。
③调用imshow函数显示图像。
例如“imshow(‘tire.tif’);”。
其基本格式为:I为图像矩阵,N为显示的灰度级数,默认时为256。
(3)计算图像有关的统计参数。
四、实验内容(1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。
(2)利用MATLAB计算图像有关的统计参数。
五、实验步骤(1)利用“读图像文件I/O”函数读入图像Italy.jpg。
(2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion (格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType (彩色类型)、CodingMethod(编码方法)等。
数字图像处理实验一图像的基本操作和基本统计指标计算实验报告

实验一图像的基本操作和基本统计指标计算一、实验目的熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。
对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。
了解计算图像的统计指标的方法及其在图像处理中的意义。
了解图像的几何操作,如改变图像大小、剪切、旋转等。
二、实验主要仪器设备(1)台式计算机或笔记本电脑(2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT))(3)典型的灰度、彩色图像文件三、实验原理(1)将一幅图像视为一个二维矩阵。
(2)利用MATLAB图像处理工具箱读、写和显示图像文件。
①调用imread函数将图像文件读入图像数组(矩阵)。
例如“I=imread(‘tire.tif’);”。
其基本格式为:“A=imread(‘filename.fmt’)”,其中,A为二维矩阵,filename.为文件名,fmt为图像文件格式的扩展名。
②调用imwrite函数将图像矩阵写入图像文件。
例如“imwrite(A,’test_image.jpg’);”。
其基本格式为“imwrite(a,filename.fmt)”。
③调用imshow函数显示图像。
例如“imshow(‘tire.tif’);”。
其基本格式为:I为图像矩阵,N为显示的灰度级数,默认时为256。
(3)计算图像有关的统计参数。
四、实验内容(1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。
(2)利用MATLAB计算图像有关的统计参数。
五、实验步骤(1)利用“读图像文件I/O”函数读入图像Italy.jpg。
(2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion (格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType (彩色类型)、CodingMethod(编码方法)等。
数字图像处理图像变换实验报告

实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用与意义;4、观察图像点运算与几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。
三、实验原理1、图像灰度直方图、点运算与几何变换的基本原理及编程实现步骤图像灰度直方图就是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。
图像点运算就是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。
点运算可以瞧作就是“从象素到象素”的复制操作,而这种复制操作就是通过灰度变换函数实现的。
如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值与输出灰度值之间的转换关系。
一旦灰度变换函数确定,该点运算就完全确定下来了。
另外,点运算处理将改变图像的灰度直方图分布。
点运算又被称为对比度增强、对比度拉伸或灰度变换。
点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸与均衡等。
图像几何变换就是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放与图像旋转等,其理论基础主要就是一些矩阵运算,详细原理可以参考有关书籍。
实验系统提供了图像灰度直方图、点运算与几何变换相关内容的文字说明,用户在操作过程中可以参考。
下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法与频域法,点运算与几何变换属于空域法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一图像处理基本操作一、 实验目的1、熟悉并掌握在MATLAB中进行图像类型转换及图像处理的基本操作。
2、熟练掌握图像处理中的常用数学变换。
二、实验设备1、计算机1台2、MATLAB软件1套3、实验图片三、实验原理1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f在坐标(x,y)处的幅度称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由若干个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术也适用于彩色图像处理,方法是分别处理三幅独立的分量图像即可。
图像关于x和y坐标以及幅度连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和幅度。
将坐标值数字化称为取样,将幅度数字化称为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和幅度都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数组十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化图1 采样和量化的过程根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类:✧亮度图像(Intensity images)✧二值图像(Binary images)✧索引图像(Indexed images)✧ RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类型或uint16类型,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double 类型,则像素取值就是浮点数。
规定双精度double型归一化亮度图像的取值范围是[0 1]。
(2) 二值图像一幅二值图像是一个取值只有0和1的逻辑数组。
而一幅取值只包含0和1的uint8类型数组,在MATLAB中并不认为是二值图像。
使用logical函数可以把数值数组转化为逻辑数组。
创建一个逻辑图像,其语法为:B=logical(A)其中,A是由0和1构成的数值数组。
(3) 索引图像索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。
一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。
(4) RGB图像一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色像素点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。
按照惯例,形成一幅RGB彩色图像的三个图像常称为红、绿和蓝分量图像。
2、数据类型表1列出了MATLAB为表示像素所支持的各种数据类型。
表中前8项称为数值数据类型,第9项称为字符类型,最后一项称为逻辑数据类型。
表1 数据类型名称描述double 双精度浮点数,范围:-10308 ~ 10308uint8 无符号8 bit整数,范围:0 ~ 255uint16 无符号16 bit整数,范围:0 ~ 65536uint32 无符号32 bit整数,范围:0 ~ 4294967295int8 有符号8 bit整数,范围:-128 ~ 127int16 有符号16 bit整数,范围:-32768 ~ 32767int32 有符号32 bit整数,范围:-2147483648 ~ 2147483647single 单精度浮点数,范围为:-10308 ~ 10308char 字符logical 值为0或13、图像文件的读、写和显示(1) 读图像imread函数用于读入各种图像文件,其一般的用法为[X,MAP]=imread( ‘filename’, ‘fmt’)其中,X为读出的图像数据,MAP为颜色表数据(或称调色板,亦即颜色索引矩阵,对灰度图像和RGB彩色图像,该MAP为空矩阵),fmt为图像的格式(可以缺省),filename 为读取的图像文件(可以加上文件的路径)。
例:[X,MAP]=imread(‘flowers.tif’, ‘tif’)(2) 写图像imwrite函数用于输出图像,其语法格式为:imwrite(X, MAP, filename, fmt)imwrite(X, MAP, filename, fmt) 按照fmt指定的格式将图像数据矩阵X和调色板MAP 写入文件filename。
(3) 显示图像MATLAB图像处理工具箱提供了imshow函数来显示各种图像,其语法如下:imshow(I, n)或imshow(I_BW);imshow(X, MAP);imshow(I_RGB)其中imshow(I, n)用于显示灰度图像,I是图像数据矩阵,n为灰度级数目(n可缺省,缺省值为256)。
其它的分别用于显示二值图像、索引色图像和RGB真彩色图像。
另外,对RGB彩色图像,还可以用imshow( RGB(:, :, 1) )、imshow( RGB(:, :, 2) )、imshow( RGB(:, :, 3) )分别显示RGB图像的R、G、B三个分量(注意:这样显示出的图像是以各分量值为对应的灰度值所显示的灰度图像)。
需要显示多幅图像时,可以使用figure语句,它的功能就是打开一个新的图像显示窗口。
也可以使用subplot函数将多幅图像显示在同一个图像显示窗口的不同区域位置。
例:I=imread(‘rice.tif’);imshow(I);J=imread(‘flowers.tif’);figure, imshow(J);4、图像类型的转化图像的类型主要有二值图像、灰度图像、索引图像和RGB彩色图像。
一幅图像的类型可以根据读入的图像数据的特点加以判断。
假设图像“flowers.tif”的大小为N×M,读取图像[X,MAP]=imread(’flowers.tif’, ’tif’)。
对灰度图像来说:X为N×M矩阵、MAP为空矩阵;对索引图像:X为N×M矩阵,而MAP不是空矩阵,一般为256×3矩阵;对RGB图像:X为N×M×3三维矩阵,MAP为空矩阵。
另外根据用imfinfo函数读取的图像文件的有关信息也可以确定图像的类型。
图像类型之间的转换有时非常有用。
表2是MATLAB提供的图像类型转换函数。
表2 MATLAB提供的图像类型转换函数函数功能dither 使用抖动方法,将灰度图像变成二值图像或由RGB图像创建索引图像gray2ind 根据一幅灰度图像创建索引图像grayslice 使用阈值截取方法,根据一幅灰度图像创建索引图像im2bw 使用阈值截取法,将灰度图像、索引图像或RGB图像转换为二值图像ind2gray 根据一幅索引图像创建一幅灰度图像ind2rgb 根据一幅索引图像创建一幅RGB图像mat2gray 通过数据缩放,在根据矩阵数据创建一幅灰度图像rgb2gray 根据一幅RGB图像创建一幅灰度图像rgb2ind 根据一幅RGB图像创建一幅索引图像上表中函数有类似的调用格式:函数的输入参数是图像数据矩阵(如果是索引图像,那么输入参数还包括调色板),返回值是转换后的图像(包括索引图像的调色板),只有函数im2bw的调用格式不同,其输入参数中还包括一个截取阈值,超过此阈值的像素被截取为1否则为0。
如:“[I_RGB, MAP]=imread('flowers.tif'); I_GRAY=rgb2gray(I_RGB);”将RGB图像转换为灰度图像。
5、代数运算设定A(x,y)和B(x,y)为输入图像,C(x,y)为输出图像。
(1) 加法运算C ( x , y ) = A ( x , y ) + B ( x , y )(2) 减法运算C ( x , y ) = A ( x , y ) —B ( x , y )(3) 乘法运算C ( x , y ) = A ( x , y ) ×B ( x , y )(4) 除法运算C ( x , y ) = A ( x , y ) / B ( x , y )图像相加的一个重要应用是对同一场景的多幅图像求平均值。
这点被经常用来有效地降低加性随机噪声的影响。
在求平均值的过程中,图像的静止部分不会改变,而对每一幅图像,各不相同的噪声图案则累积很慢。
对M幅图像进行平均,使图像中每一点的平方信噪比提高了M倍,幅度信噪比是功率信噪比的平方根,因此达到了提高信噪比降低噪声的作用。
在MATLAB中,可人为地往一幅图像中加入随机噪声,并通过多次相加求平均的方法降低所加入的噪声对图像的影响。
MATLAB中提供了给图像加入噪声的函数imnoise,imnoise的语法格式为J = imnoise(I, type)J = imnoise(I, type, parameters)其中J = imnoise(I, type)返回对原始图像I添加典型噪声的有噪图像J。
参数type和parameters 用于确定噪声的类型和相应的参数。
例:I = imread('eight.tif');J1 = imnoise(I, 'gaussian', 0, 0.02);J2 = imnoise(I, 'salt & pepper', 0.02);J3 = imnoise(I, 'speckle', 0.02);subplot(2,2,1), imshow(I), title('原图像');subplot(2,2,2), imshow(J1), title('加高斯噪声');subplot(2,2,3), imshow(J2), title('加椒盐噪声');subplot(2,2,4), imshow(J3), title('加乘性噪声');代数运算中需要有若干幅带有随机噪声的图像数据,在这里我们运用MATLAB中的FOR循环语句来完成产生多幅带有噪声的图像数据及将这些图像数据进行相加运算。
MATLAB中FOR END循环的用法如下:for end循环这种循环允许一组命令以固定的和预定的次数重复,循环的一般形式为:for variable = expressionstatementsend例:图像加噪声再通过多次相加求平均的方法去除噪声[I, M] = imread('eight.tif');J = imnoise(I, 'gaussian', 0, 0.02);subplot(1,2,1), imshow(I), title('原图像');subplot(1,2,2), imshow(J), title('加噪声后图像');[m, n] = size(I);K = zeros(m, n);for i = 1 : 100J = imnoise(I, 'gaussian', 0, 0.02);J1 = im2double(J);K = K + J1;endK = K / 100; %求图像的平均figure; imshow(K), title('相加求平均后的图像');6、几何运算(1) 图像的缩放MATLAB图像处理工具箱中的函数imresize可以用上述的三种方法对图像进行插值缩放,如果不指定插值方法,则默认为最邻近插值法。