实验一 Matlab图像处理工具箱的初步练习(my)

合集下载

matlab图像处理实验

matlab图像处理实验

matlab图像处理实验实验⼀ Matlab语⾔、数字图象基本操作⼀、实验⽬的1、复习MATLAB语⾔的基本⽤法;2、掌握MATLAB语⾔中图象数据与信息的读取⽅法;3、掌握在MATLAB中绘制灰度直⽅图的⽅法,了解灰度直⽅图的均衡化的⽅法。

⼆、实验原理MATLAB是集数值计算,符号运算及图形处理等强⼤功能于⼀体的科学计算语⾔。

作为强⼤的科学计算平台,它⼏乎能够满⾜所有的计算需求。

MATLAB软件具有很强的开放性和适⽤性。

在保持内核不变的情况下,MATLAB可以针对不同的应⽤学科推出相应的⼯具箱(toolbox)。

⽬前,MATLAB已经把⼯具箱延伸到了科学研究和⼯程应⽤的诸多领域,诸如数据采集、概率统计、信号处理、图像处理和物理仿真等,都在⼯具箱(Toolbox)家族中有⾃⼰的⼀席之地。

在实验中我们主要⽤到MATLAB提供图象处理⼯具箱(Image ProcessingToolbox)。

1、MATLAB与数字图像处理MATLAB全称是Matrix Laboratory(矩阵实验室),⼀开始它是⼀种专门⽤于矩阵数值计算的软件,从这⼀点上也可以看出,它在矩阵运算上有⾃⼰独特的特点。

实际上MATLAB中的绝⼤多数的运算都是通过矩阵这⼀形式进⾏的。

这⼀特点也就决定了MATLAB在处理数字图像上的独特优势。

理论上讲,图像是⼀种⼆维的连续函数,然⽽在计算机上对图像进⾏数字处理的时候,⾸先必须对其在空间和亮度上进⾏数字化,这就是图像的采样和量化的过程。

⼆维图像进⾏均匀采样,就可以得到⼀幅离散化成M×N样本的数字图像,该数字图像是⼀个整数阵列,因⽽⽤矩阵来描述该数字图像是最直观最简便的了。

⽽MATLAB的长处就是处理矩阵运算,因此⽤MATLAB处理数字图像⾮常的⽅便。

MATLAB⽀持五种图像类型,即索引图像、灰度图像、⼆值图像、RGB图像和多帧图像阵列;⽀持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像⽂件格式的读,写和显⽰。

1Matlab图像处理工具箱

1Matlab图像处理工具箱

b=x(3:-1:1) %由前3个数倒排成数组
b=x([1 2 3 4 4 3 2 1])
%对元素的重复访问
矩阵的基本操作
3、修改数据
x=[1,2,3;4,5,6;7,8,9] %产生3×3的矩阵
b=x(find(x>4)) %大于4的元素构成数组
x(2,2)=10
%2行2列值改为10
x(3,:)=20
矩阵的基本操作
2、寻访矩阵中的数据
x=[1 2 3 4 5] %产生1×5的数组
b=x(3)
%寻访数组x的第3个元素
b=x([1 2 5]) %寻访x的第1、2、5元素
b=x(1:3) %寻访前三个元素
b=x(3:end) %寻访第三个元素到最后一个
b=x(find(x>3)) %由大于3的元素构成数组
%第3行的值改为20
x=ones(5)
%产生5×5全为1的矩阵
x(2:4,2:4)=0
%第2、3、4行的
第2、3、4列元素改0
矩阵的基本操作
4、插入、提取、拉长、置空
插入:x=4:6;A=[x-3;x;x+3] %插入创建新矩阵
提取:C=A(1:2,2:3) %A的部分
拉长:D=A(:)
%拉长成列
命令(Script)文件
第一类型的M文件称为命令(Script)文件,它是一系列命令、 语句的简单组合,没有输入和输出参数,是最简单的M文件,顺 序执行文件后变量是全局变量,保存在工作空间中。
例 %绘制花瓣 theta=-pi:0.01:pi;
rho(1,:)=2*sin(5*theta).^2; rho(2,:)=cos(10*theta).^3; rho(3,:)=sin(theta).^2; rho(4,:)=5*cos(3.5*theta).^3; for k=1:4 subplot(2,2,k),polar(theta,rho(k,:)) end

(最新整理)第2章MATLAB图像处理工具箱

(最新整理)第2章MATLAB图像处理工具箱
figure,imshow(background); figure,surf(double(background(1:8:end,1:8:end) )),zlim([0 255]); %以表面形式显示背景
2021/7/26
6
3.从原始图像中减去背景图像 I2=imsubtract(I,background); %将背景图像background从原始图像I中减去 figure,imshow(I2)
如:颜色分量为(0,0,0)的像素将显示为黑色;颜 色分量为(1,1,1)的像素将显示为白色。
• 每一个像素的三个颜色分量都存储在数组的第三 维中。如:像素(10,5)的红、绿、篮颜色值分 别保存在元素RGB(10,5,1)、RGB(10,5,2)、 RGB(10,5,3)中。
2021/7/26
20
%Qm表示沿每个颜色轴反转颜色图的量化
%(即对于补色各颜色轴)的位数,
%Qe表示颜色空间计算误差的量化误差。
%如果Qe<Qm,则不进行抖动操作。
%Qm的默认值是5,Qe的默认值是8。
BW=dither(I) %通过抖动算法将矩阵I中的灰度图像
2021/7/26
%转换为二进制图像。
23
注意:
• 输入图像可以是双精度类型或8位无符号类型, 其他参数必须是双精度类型。
4.调节图像对比度 I3=imadjust(I2,stretchlim(I2),[0 1]); %调节图像的对比度 figure,imshow(I3);
2021/7/26
7
5.使用阈值操作将图像转换为二进制图像 level=graythresh(I3); bw=im2bw(I3,level); figure,imshow(bw)

实验一 MATLAB基础训练

实验一  MATLAB基础训练

实验一 MATLAB基础训练一、实验目的本次上机实验主要练习使用Matlab的基本操作和基础知识,包括数组(复数、向量、矩阵、结构体数组等)的创建和数组元素的操作和运算、矩阵的运算、Matlab的运算符(尤其是点运算‘.’)、脚本M文件和函数M文件的编写、Matlab文件的编程(基本的流程控制结构)、基本的二维和三维绘图方法以及图形的标注等。

希望通过本次实验使大家尽量在短时间内(4学时)掌握Matlab的基本操作和基础知识,为后面的实验项目奠定基础。

二、实验原理参见PPT中有关内容。

三、实验内容1. 上机练习课件中的例子。

2. 设两个复数a=1+2i, b=3-4i, 计算a+b, a-b, a*b, a/b, a和b的模。

3. 计算下式的结果,其中x=-3.5°, y=6.7°(提示:①应将角度单位由度转换为数学函数所能处理的弧度值;②求根函数sqrt,取绝对值函数abs,具体用法用help查询)4. 对矩阵123456789A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦, 实现下列操作:(1) 左右翻转(fliplr命令)(2) 上下翻转(flipud命令)(3) 利用cat命令分别将A扩展成3×6和6×3的矩阵(3) 分别提取A的第2行,第2列,对角线元素(4) 删除A的第2行2列的元素(提示:将矩阵元素赋空阵[]可以删除元素,注意此时元素的访问只能使用单下标的方式。

观察删除元素后,A中元素的排列方式的变化)5. 创建[0,2π]区间上拥有100个等间隔元素的列向量...x.(Matlab默认是行向量),并绘制y=sin(x1/3)的函数图像。

6. 创建如下图所示的单结构体数组。

7. 编程训练:下图所示电路中,R 1=2Ω, R 2=4Ω, R 3=12Ω, R 4=4Ω, R 5=12Ω, R 6=4Ω, R 7=2Ω, u s =10V, 求i 3。

(要求:以脚本M 文件方式建立程序。

Matlab图像处理工具箱1

Matlab图像处理工具箱1
(1) 读入并显示一幅图像 首先清除MATLAB所有的工作平台变量,关闭已打开的图 形窗口。其程序如下: clear; close all;
使用图像读取函数imread来读取一幅图像。假设要读 取图像pout.tif,并将其存储在一个名为I的数组中, 其程序为: I=imread(‘pout.tif’); 使用imshow命令来显示数组I,其程序如下: imshow(I) 显示结果如下图所示。
使用find命令来返回这个最大尺寸米粒的标记号, 其程序如下: biggrain=find(allgrains==695) biggrain= 68 获取米粒的平均大小: mean(allgrains) ans= 249 绘制一个包含20柱的直方图来说明米粒大小的分布 况,程序如下: hist(allgrains,20);
BMP图像文件具有以下特点:①只存放一幅图像; ②只能存储单色、16色、256色和真彩色四种图像数据; ③图像数据有压缩和非压缩两种处理方式;④调色板 的数据存储结构较为特殊,存储格式不是固定的,而 是与文件头的某些具体参数密切相关的。 BMP图像文件的文件结构可分为三部分:表头、调 色板和图像数据。表头长度固定为54个字节,只有真 彩色BMP图像文件内没有调色板数据,其余不超过256 种颜色的图像文件都必须有调色板信息。
(3)实现直方图均衡化 pout.tif 图像对比度较低,为了观察图像当前状态 下亮度分布情况,可以通过使用 imhist 函数创建描述该 图像灰度分布的直方图。首先使用figure命令创建一个新 的图像窗口,避免直方图覆盖图像数组I的显示结果。其 程序为:figure, imhist (I); 运行结果如图3.2所示。由图可见,图像没有覆盖整 个灰度范围[0,255],仅在较狭窄范围内,同时图像中灰 度值的高低区分不明显,无较好的对比度。

matlab简单图像处理实验报告

matlab简单图像处理实验报告

实验一:图像文件类型转换实验目的:理解数字图像文件的几种基本类型掌握在MATLAB中进行图象文件类型转换的方法观察图象转换前后的效果加深对图象文件类型的理解熟悉图象格式、颜色系统间的转换实验内容:1)灰度图像与索引图像的相互转换2)RGB图像与索引图像的相互转换3)将图像转换为二值化图像实验方法:利用MATLAB工具进行实验一、灰度图像到索引图像的转换clear>> info=imfinfo('rice.png')info =Filename: 'rice.png'FileModDate: '26-Jan-2003 00:03:06'FileSize: 44607Format: 'png'FormatVersion: []Width: 256Height: 256BitDepth: 8ColorType: 'grayscale'FormatSignature: [137 80 78 71 13 10 26 10]Colormap: []Histogram: []InterlaceType: 'none'Transparency: 'none'SimpleTransparencyData: []BackgroundColor: []RenderingIntent: []Chromaticities: []Gamma: []XResolution: []YResolution: []ResolutionUnit: []XOffset: []YOffset: []OffsetUnit: []SignificantBits: []ImageModTime: '27 Dec 2002 19:57:12 +0000'Title: []Author: []Description: 'Rice grains'Copyright: 'Copyright The MathWorks, Inc.'CreationTime: []Software: []Disclaimer: []Warning: []Source: []Comment: []OtherText: []RGB=imread('rice.png');>> figure(3);>> imshow(RGB);>> figure(1);>> [RGB1,map1]=gray2ind(RGB,128);>> imshow(RGB1,map1);>> figure(2);>> [RGB2,map2]=gray2ind(RGB,16);>> imshow(RGB2,map2);>> imwrite(RGB1,map1,'3.bmp');>> imwrite(RGB2,map2,'4.bmp');图3 图1图2实验结果分析:从上述实验结果,我们可以看出灰度级不同,图像的亮度也不一样。

实验一常用MATLAB图像处理命令一、实验目的1、熟悉并掌握MATLAB工具的使用2、实现。。。

实验一常用MATLAB图像处理命令一、实验目的1、熟悉并掌握MATLAB工具的使用2、实现。。。

实验一常用MATLAB图像处理命令一、实验目的1、熟悉并掌握MA TLAB工具的使用;2、实现图像的读取、显示、代数运算和简单变换。

二、实验环境MA TLAB 6.5以上版本、WIN XP或WIN2000计算机三、常用函数●读写图像文件1 imreadimread函数用于读入各种图像文件,如:a=imread('e:\w01.tif')2 imwriteimwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’)3 imfinfoimfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif') ●图像的显示1imageimage函数是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/y5:m = imadjust(a,[,],[0.5;1]) ;%图像变亮n = imadjust(a,[,],[0;0.5]) ;%图像变暗g=255-a;%负片效果四、实验内容(请将实验程序填写在下方合适的位置,实验图像结果拷屏粘贴)1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。

数字图像处理实验Matlab及其图像处理工具箱的使用

数字图像处理实验Matlab及其图像处理工具箱的使用

实验一 Matlab及其图像处理工具箱的使用一、实验目的与要求1.熟悉常用图像的格式和类型。

2.熟练掌握在MATLAB中如何读取和保存图像。

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

4.掌握如何进行图像间转化。

5.掌握如何实时获取USB2.0摄像头采集的视频图像。

二、实验内容及步骤1.利用imread函数读取一幅图像,设名为cameraman.tif,存入一个数组中;I=imread(‘cameraman.tif’); % 读入原图像,tif格式2.利用whos 命令提取该读入图像cameraman.tif的基本信息;whos I;%显示图像I的基本信息3.利用imshow()函数来显示这幅图像;imshow(I) %显示图像前三步综合程序:>> I=imread('cameraman.tif');>> whos IName Size Bytes Class AttributesI 256x256 65536 uint8>> imshow(I)步骤三图像:4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;程序:>> imfinfo cameraman.tifans =Filename:'D:\Program Files\MA TLAB\R2009a\toolbox\images\imdemos\cameraman.tif'FileModDate: '04-十二月-2000 13:57:54'FileSize: 65240Format: 'tif'FormatV ersion: []Width: 256Height: 256BitDepth: 8ColorType: 'grayscale'FormatSignature: [77 77 42 0]ByteOrder: 'little-endian'NewSubFileType: 0BitsPerSample: 8Compression: 'PackBits'PhotometricInterpretation: 'BlackIsZero'StripOffsets: [8x1 double]SamplesPerPixel: 1RowsPerStrip: 32StripByteCounts: [8x1 double]XResolution: 72YResolution: 72ResolutionUnit: 'None'Colormap: []PlanarConfiguration: 'Chunky'TileWidth: []TileLength: []TileOffsets: []TileByteCounts: []Orientation: 1FillOrder: 1GrayResponseUnit: 0.0100MaxSampleV alue: 255MinSampleV alue: 0Thresholding: 1Offset: 64872ImageDescription: [1x112 char]5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

Matlab图像处理工具箱1ppt课件

Matlab图像处理工具箱1ppt课件
level=graythresh(I3); bw=im2bw(I3,level); figure,imshow (bw);
精选PPT课件
12
(6) 检查图像中的对象个数 为了确定图像中的米粒的个数,使用bwlabel函数,
该函数标示了二值图像bw中的所有相关成分,并且返回 在图像中找到的对象个数 numobjects:
精选PPT课件
8
(2) 估计图像背景
图像 rice.tif 中心位置的背景亮度要高于其 他部分的亮度。使用 imopen 函数和一个半径为 15的圆盘形结构元素对输入的图像I进行形态打开 操作。形态打开操作将会删除那些不完全包括在 半径为15的圆盘中的对象,从而实现背景亮度的 估计,其程序如下:
background=imopen (I,strel (‘disk’,15));
RGB_label=label2rgb(labeled,@spring,’c’,’shuffle’ ); imshow(RGB_label);
精选PPT课件
14
(8) 计算图像中对象的统计属性
regionprops 命令可以用来调节图像中对象或区域的 属性,并将这些属性返回到一个结构体数组中。当调用 regionprops函数来返回一个包含图像中所有米粒阈值的 基本属性度量结构体时,使用以下MATLAB函数来计算 阈值对象的一些统计属性:首先使用 max 获取最大的米 粒大小,其程序如下:
imshow(I) 显示结果如下图所示。
精选PPT课件
3
(2) 检查内存中的图像
使用whos命令来查看图像数据I是如何存储在内存中, 其程序为:
whos
MATLAB做出的响应如下:
Name
Size

MATLAB图像处理工具箱

MATLAB图像处理工具箱

例:显示索引图像,并说明与颜色映射表的关系。 解:在M文件编辑器中输入下面的代码: [X,map]=imread(‘canoe.tif’); %输入图像文件 image(X); %显示图像 colormap(map) %设置颜色表
(3)灰度图像 灰度图像通常由一个uint8、uint16、双精度类型 的数组来描述,其实质是一个数据矩阵I,该矩 阵中的数据均代表了在一定范围内的灰度级,每 一个元素对应于图像的一个像素点,通常0代表 黑色,1、255、65 535(针对不同存储类型) 代表白色。 例:灰度图像显示。 解:在M文件编辑器中输入下面的代码: I=imread(‘trees.tif’); %将图像格式文件读入 imagesc(I,[0 1]); %显示图像 colormap(gray) %设置颜色表
例:RGB图像显示。 解:在M文件编辑器中输入下面的代码: RGB=imread(‘greens.jpg’);%图像格式文件读入 image(RGB) %显示RGB图像 在上面的RGB图像中,要确定像素(12,9)的颜色, 可以在命令行中输入: RGB(12,9,:) 按回车键,得到: ans(:,:,1) = 26 ans(:,:,2) = 56 ans(:,:,3) = 32
• MATLAB的RGB数组可以是双精度的浮点型、8 位或16位无符号的整数类型。 • 在一个双精度类型的RGB数组中,每一个颜色分 量都是一个[0,1]范围内的数值。 如:颜色分量为(0,0,0)的像素将显示为黑色;颜 色分量为(1,1,1)的像素将显示为白色。 • 每一个像素的三个颜色分量都存储在数组的第三 维中。如:像素(10,5)的红、绿、篮颜色值分 别保存在元素RGB(10,5,1)、RGB(10,5,2)、 RGB(10,5,3)中。

matlab图像处理实验报告

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基础知识练习

实验一matlab基础知识练习

本次实验包括四部分:一、MATLAB语言矩阵运算二、MATLAB的绘图三、数字图像处理初步四、Matlab的可视化界面设计实验要求:1、内容较多,课内做不完可以课外完成,要求写到实验报告上的内容包括:●二、MATLAB的绘图的1、3●三、数字图像处理初步2、32、实验报告要求●实验目的●实验内容与步骤●实现代码与实验结果(实验效果图要求打印并贴在实验报告册上)●实验分析3、实验效果图上要求添加做实验同学的姓名,以防抄袭,效果如三、2所示4、实验报告在下周上课前交上一、MATLAB 语言矩阵运算1、下列运算是否合法,为什么?如合法,结果是多少?⎥⎦⎤⎢⎣⎡=654321a ⎥⎦⎤⎢⎣⎡-=531142b ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=201c ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=063258741d (1)result1=a'(2)result2=a *b (3)result6=a .*b (4)result7=a ./b (5)result8=a .*c (6)result9=a .\b (7)result10=a .^22、用MATLAB 求下面的的方程组。

(1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----017413231511222315921274321x x x x 3、已知⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=1323151122231592127A (1)求矩阵A 的秩(rank)(2)求矩阵A 的行列式(determinant)(3)求矩阵A 的逆(inverse)(4)求矩阵A 的特征值及特征向量(eigenvalue and eigenvector)4、关系运算与逻辑运算已知a=20,b=-2,c=0,d=1(1)r1=a >b(2)r2=a >b &c >d (3)r3=a ==b*(-10)(4)r4=~b |c代码中的“?”需要同学们用代码替换二、MATLAB 的绘图1、在同一坐标系下绘制下面函数在t ∈[0,4π]的图象。

实验一、Matlab图像处理工具箱的基本操作袁子鹏 网络11-2班 3110757219

实验一、Matlab图像处理工具箱的基本操作袁子鹏 网络11-2班 3110757219

《数字图像处理》实验指导书信息科学与工程学院袁子鹏网络11-2班 3110757219实验一、MATLAB的基本操作一、实验目的1掌握MATLAB的常规操作以及对图像的操作;2掌握MATLAB的基本编程。

二、实验原理阅读实验1目录下“上机辅导讲座--Matlab编程.pdf”文件,掌握MATLAB的常规操作以及对图像的操作,掌握MATLAB的基本编程。

实验步骤1在学习以上pdf文件的时候,对文件中提到的一些操作,通过在Matlab中实际运行来加深对这些操作的理解;2显示有格式图像lenna.bmp;提示:使用imread、imshow等函数3在同一个figure中显示三幅无格式图像lena_256.img、cell_128.img和fing_128.img;提示:使用fopen, fread, subplot, imshow等函数4 产生下图所示图像 f1(x,y)(128×128 大小,暗处=0,亮处=255),并保存为bmp格式。

提示:使用zeros, imwrite等函数三、实验仪器1计算机;2 MA TLAB程序;3移动式存储器(软盘、U盘等);4记录用的笔、纸。

四、思考题1图像在Matlab中是如何存储的?2 Matlab中对图像是如何操作的?实验结果(1)显示有格式图像lenna.bmp;(2)在同一个figure中显示三幅无格式图像lena_256.img、cell_128.img和fing_128.img;实验的程序:figure(1);fid=fopen(' d:\image \cell_128.img','r'); %打开无格式文件data1=(fread(fid,[128,128],'uint8')); %将打开的文件读入到data1subplot(2,2,1) %将figure(1)分成2*2 的4 个子窗口,imagesc( data1,[0 255]); %数据定标并按图象显示, [0 255]确定灰度范围colormap( gray); %设置绘图的着色方案, 以灰度图象显示在第一个子窗口title('CELL','Color','b'); %加标题subplot(2,2,2); %取第二个子窗口data2=uint8(data1);%将灰度图象转换成uint8 格式a=histeq(data2); %直方图均衡化imshow(a,256); %显示均衡化图象,256 可缺省title('均衡化','Color','b');subplot(2,2,3)fid=fopen(' d:\image \cell_128.img','r'); %打开无格式文件data3=(fread(fid,[128,128],'uint8'))';%将打开的文件读入到data3data31=uint8( data3);%将灰度图象转换成uint8 格式imshow(data31);%显示灰度图象title('CELL','Color','b');fid=fopen(' d:\image \Lena.img','r');data4=(fread(fid,[256,256],'uint8'))';subplot(2,2,4)imagesc( data4);colormap( gray);title('LENA','Color','r');实验(2)结果:(3)产生下图所示图像 f1(x,y)(128×128 大小,暗处=0,亮处=255),并保存为bmp格式。

matlab图像处理基础实验,数字图像处理实验报告Matlab图像处理基础

matlab图像处理基础实验,数字图像处理实验报告Matlab图像处理基础

matlab图像处理基础实验,数字图像处理实验报告Matlab图像处理基础《数字图像处理实验报告 Matlab图像处理基础》由会员分享,可在线阅读,更多相关《数字图像处理实验报告 Matlab图像处理基础(27页珍藏版)》请在⼈⼈⽂库⽹上搜索。

1、院系:计算机科学学院专业:计算机科学和技术年级: 2012级课程名称:数字图像处理组号:姓名(学号):指导教师:⾼志荣2015年5⽉25⽇学年2012年度班号1学号专业计算机科学和技术姓名实验名称Matlab图像处理的基础实验室204果实检查眼睛的和要拜托了⼀、实验⽬的:(熟悉Matlab开发环境(掌握Matlab中数字图像读取、显⽰、保存的基本⽅法的使⽤(3)把握不同种类的数字图像间的变换⽅法(4)加深空间分辨率和灰度分辨率对图像显⽰效果的影响(熟悉Matlab中的傅⽴叶变换(基于Matlab的数字图像程序设计⽅法⼆、实验内容:(在Matlab中使⽤imread函数读取1张RGB图像(从实验。

2、素材中任意选择),调查该图像的尺⼨、数据类型信息,将该图像转换为灰度图像并以bmp形式保存。

(使⽤imread函数读取1张灰度图像(从实验素材中任意选择),分别进⾏2个采样、4个采样和8个采样,以相同⼤⼩显⽰原图像和采样后的3张结果图像,⽐较空间分辨率对图像显⽰效果的影响。

(使⽤imread函数读取1张灰度图像(从实验素材中任意选择),分别以5、10、50的间隔将该灰度再次均匀量化,以相同⼤⼩显⽰原图像和再量化后的3张结果图像,⽐较灰度分辨率对图像显⽰效果的影响。

(4)读取⼀张灰度图像,对其进⾏快速傅⽴叶变换,在同⼀窗⼝中显⽰原始的空间区域图像和变换后的频域图像。

三、实验要求:(1)关于具体的。

3、实验内容,分别给出命令(或m⽂书)、输出结果、成因分析、经验总结。

(2)所有⽣成的图像或m⽂件,均须命名。

例如,图n :描述图像信息的*.m⽂件:描述⽂件信息。

实验指导书1-Matlab使用入门与绘图练习.doc

实验指导书1-Matlab使用入门与绘图练习.doc

一、 实验(训)目的与要求1) 熟悉Matlab 操作环境、编程工具和帮助功能;2) 了解Matlab 基木运算、信号图形绘制方法。

二、 实验(训)仪器与设备1) 软件需求:Windows XP 以上版本操作系统,Matlab 10a 分析软件;2) 硬件需求:Pentium IV 450以上CPU, 512MB 以上内存,5GB 硬盘空间。

三、 实验(训)原理1) 在Matlab 操作环境中练习编程基础知识,包括基本运算、自定义函数等;2) 绘制信号图形,能够对基本的绘图选项进行设定。

四、实验(训)步骤【包括原理图、实验(训)结果与数据处理】1) 熟悉Matlab 操作环境及相应设置2) 通过help 查看帮助信息3) 给定z=x 2+e AH_v -yhxt-3,在命令窗口中键入相应表达式,求尸2、时z 的值 » x=2; »y=4;» z=x A 2+exp (x+y )-y * log (x )-3z= 401.65624) 在命令窗口中利用linspace 函数生成向量(10,8,•••,()) »linspace( 10,0,6)操作»A=[4 -2 2;-3 0 5;1 5 3]; »B=[1 3 4;-2 0-3;2 ・1 1];① 提取A 的第一行、第三行>>C=[A(1,:);A(3,:)]C = 4 ・2 21 5 3② 提取B 的第一列、第二列D=[B(:,1)B(:,2)]D= 1 3-2 02・1③ 交换A 的第一行和第二行»a=A(l,:); >>A(1,:)=A(2,:);»A(2?:)=a;» A~4 -2 2~ 1 3 5)已知A 二 -3 0 5 、B = -2 0 1 5 3 2 -14 -3 ,在命令窗口屮建立A 、B 矩阵并 ans = 10 8 6 4 2 0A = -3 0 54-2 2④分别从横向和纵向合并A、B » C=[AB]C = -3 0 5 1 3 44 ・2 2・2 0 ・31 5 32 -1 1 » c=L A;B]C = -3 0 54 -2 21 5 31 3 4-2 0 -32 -1 1•1,2,3'「0, -1,2「⑤给定A = 4,5,6 、B —3, 5,7 ,用class函数判别A的数据类型,并求_7,8,9_ 一°,1,8.2A、A・B、A*B、A.*B、A\ A/B、AB“ 的值»A=[1 2 3;4 5 6;7 8 9];»B=[0-1 2:3 5 7:0 1 8]:» class(A) ans = double»2*Aans = 2 4 68 10 1214 16 18»A-Bans = 1 3 11 0 -17 7 1»A*Bans = 6 12 4015 27 9124 42 142»A.*Bans = 0 -2 612 25 420 8 72»A*ans = 1 4 72 5 83 6 9»A/Bans = -0.2000 0.3333 0.13331.0000 1.3333 -0.66672.2000 2.3333 -1.4667»A*B A(-1)ans = -0.2000 0.3333 0.13331.0000 1.3333 -0.66672.2000 2.3333 -1.46676)设计求K=£(-3)'=1-3 + 32+••・ + (-3)“的程序,要求利用条件和循环语句, i=0 动态输入变量〃的值(输入变量〃用input语句,刃在10〜40之间取值) n=input('n=,);i=0;sum=0;while i<=n;sum=sum+(-3)A i;i=i+l;endsum'严)0< x< 17)给定函数:y —'sin (x) l<x<10 ,编写此函数的自定义文件,1 + 3(x)- (x)210<x<25分别求出尸0.5、尸5、尸1时对应的函数值fiinction [yx]=y(x)if x>=0 && x<lyx=exp(-2*x);elseifx>=l && x<10yx=sin(x);elseifx>=10 && x<=25yx=l+3*x-x A2;end» y(o.5)yx = 0.3679» y(5)yx =-0.9589» yd2)yx =-1078)给定>^=x2sin(x2-x-2) (-2<x<2),用plot命令画图,并设定图形标题» x=・2:0.1:2:J» y=x. A2. * sin(x. A2-x-2);» plot(x,y),grid on?title(* 曲线*)曲线»t=0:pi/50:2*pi;» x=2*cos(t);» y=4*sin(t);» plot(x?y)?grid on10)给定函数z = /(x, y) = 3(l-x)2^ 2(>+1),利用meshgrid命令生成网线节点矩阵,再利用mesh 或surf命令绘制其三维图形(兀w[_3,3]、ye [-5,5])»tl=-3:0.1:3;»t2=・5:0.1:5;»[x,y]=meshgrid(t 1 ,t2);z=3*(l -x).A2.* exp(-0.5*x.A2-(y+1 ).A2);» mesh(x?y,z)五、讨论与结论【对实验(训)现象、实验(训)故障及处理方法、实验(训)中存在的问题等进行分析和讨论,对实验(训)的进一步想法或改进意见】。

数字图像处理及MATLAB实现第三章 MATLAB图像处理工具箱

数字图像处理及MATLAB实现第三章   MATLAB图像处理工具箱

13
(3)从原始图像中减去背景图像 将背景图像 background从原始图像 I中减去, 从而创建一个新的、背景较为一致的图像, 其程序如下: I2 =imsubtract(I,background); figure,imshow(I2); 运行结果如图 3.5(a)所示。
14
15
(4) 调节图像对比度 从图 3.5(a)可以看出,修改后的图像很暗, 可以使用 imadjust函数来调节图像的对比度,并 显示调节后的效果。 I3 =imadjust(I2,stretchlim(I2), [0,1]); figure,imshow(I3);
17
(6) 检查图像中的对象个数 为了确定图像中的米粒的个数,使用 bwlabel函数,该函数标示了二值图像 bw 中的所 有相关成分,并且返回在图像中找到的对象个数 numobjects: [labeled,numobjects]=bwlabel(bw,4); % labelcomponents numobjects=80
37
38
(2) 灰度图像转换为索引图像 gray2ind函数可以将灰度图像转换成索引图 像,其语法格式为: [X,map]=gray2ind(I,n) 其功能是:按指定的灰度级数 n和颜色图 map, 将灰度图像 I转换成索引色图像 X,n的默 认值为 64。 下面将灰度图像 pout.tif转换成索引图像 X, 颜色图分别为 gray(128)和 gray(16)。程序 清单如下:
16
(5) 使用阀值操作将图像转换为二进制图像 通过使用函数 graythresh和 im2bw 创建一 个新的二值图像 bw,其程序如下: level=graythresh(I3); bw =im2bw(I3,level); figure,imshow(bw); 运行结果如图 3.5(c)所示。

图像处理MATLAB - 实验一

图像处理MATLAB - 实验一

2
常用图像操作
一、读取图像
使用函数imread可以将图像读入MATLAB 使用函数imread可以将图像读入MATLAB imread可以将图像读入 环境,其语法格式为: 环境,其语法格式为: imread('filename') 其中,filename是一个含有图像文件全名的字 其中,filename是一个含有图像文件全名的字 符串。 符串。
5
常用图像操作
如果清楚地知道数据的值域[low high], 如果清楚地知道数据的值域[low high],可以使用命令 imshow(I,[low high])。否则可用空向量为参数,即 high])。否则可用空向量为参数, ])。 imshow(I,[ ])。

imshow(BW)
用于显示二值图像。 用于显示二值图像。
22
实验一 空域图像增强
要求: 要求: 观察模板大小(窗口尺寸) (1)观察模板大小(窗口尺寸)对图像去噪效果的影 响(选用 ×3、5×5、7×7)。 选用3× 、 × 、 × ) (2)观察均值滤波和中值滤波对不同噪声的滤除效果
23

imshow(RGB)
用于显示真彩色图像。 用于显示真彩色图像。

imshow(X,map)
用于显示索引色图像。 用于显示索引色图像。
6
直方图的绘制
绘制直方图最简单的方法是使用未指定输 出的函数imhist。 出的函数imhist。 imhist 绘制一幅灰度图像的直方图。 例:绘制一幅灰度图像的直方图。 >> imhist(I)
16
空间域平滑—中值滤波
lena. 添加椒盐噪声, 例:对一幅灰度图像 lena.bmp 添加椒盐噪声, 并进行中值滤波。 滤波窗口大小为3 并进行中值滤波。(滤波窗口大小为3×3)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

•图像类型转换
1 rgb2gray 把真彩图像转换为灰度图像 i=rgb2gray(j) im2bw
通过阈值化方法把图像转换为二值图像
I=im2bw(j,level) Level表示灰度阈值,取值范围0~1(即0.n),表示阈值取自原 图像灰度范围的n%
3 imresize 改变图像的大小
I=imresize(j,[m n])将图像j大小调整为m行n列
实验一
Matlab图像处理工具箱的初 步练习
一、实验目的
1. 掌握有关数字图像处理的基本概念;
2. 熟悉Matlab图像处理工具箱;
3. 熟悉使用Matlab进行数字图像的读出和显示;
4. 熟悉运用Matlab指令进行图像旋转和缩放变换。
二、实验环境
MATLAB 6.5以上版本、WIN XP或WIN2000计算机
两幅图像相加,要求同样大小,同种数据类型
Z=imadd(x,y)表示图像x+y 2 imsubtract 两幅图像相减,要求同样大小,同种数据类型 Z=imsubtract(x,y) 表示图像x-y 3 immultiply Z=immultiply(x,y) 表示图像x*y 4 imdivide Z=imdivide(x,y) 表示图像x/y
执行这个命令后,workspace窗口中的变量有没有?怎么验证?
(8) 清除用户开设的窗口命令:close all (9) 调入图像文件'abc.tif'并显示。
2. 灰度图像 分别选择不同的灰度级(如2、4、16、64、128个)来显示同一幅图像 (如testpat1.tif)。i=imread('testpat1.tif'); figure,imshow(i,2) figure,imshow(i,4) figure,imshow(i,16) figure,imshow(i,64) figure,imshow(i,128) %显示2个灰度级 %显示4个灰度级 %显示16个灰度级 %显示64个灰度级 %显示128个灰度级
“bilinear”方法)和2.6倍(用“bicubic”方法),显示在不同的图像窗口中。 2、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 3.从磁盘上读入图像“lena.tif”,将其放大2倍,并将结果用BMP格式以 “lena.bmp”为文件名,写入磁盘。(用imwrite命令,该命令的用法请用help imwrite查看) 4.给定一幅图像,如lena.bmp,分别将其顺时针旋转45度,逆时针旋转30 度。 5. 给定一幅图像,如lena.bmp,以不同灰度级显示,比较显示的不同效果。 6. 对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子
4. Imrotate
图像旋转
B=imrotate(A,angle,method);%使用指定的插值方法(逆时 针/顺时针方向将图像A旋转angle角度。 B=imrotate(A,angle,method,’crop’) % 通过指定crop参数对旋转后的图像进行剪切(取图像的 中间部分)
•图像运算 1 imadd
3. RGB图像 RGB = imread(‘ngc6543a.jpg’); %RGB为650*600*3 imshow(RGB);
将这一图写入到abc.jpg文件中去,将此图的尺寸改为300*300,其效果如何?
4. 在Matlab中,函数imresize(X,M,method)可用来改变图像的大小,其中 X表示图像,实数M>0是放大倍数,method用来选择计算数据的方法,其取 值及意义为: ‘nearest’--最近邻插值法,’bilinear’--双线性插值法,’bicubic’--双三次 插值法。 我们看下面这段程序: I=imread('circuit.tif'); J=imresize(I,1.25); %将原图形放大1.25倍 imshow(I) figure,imshow(J) 也可以指定目标图像的大小,此时imresize()的调用格式为: Y=imresize(X,[320,480]) 其中[320,480]表示将图像的大小调整为320×480。
3 colorbar colorbar函数用显示图像的颜色条,如:
i=imread('e:\w01.tif');
imshow(i); colorbar; 4 figure figure函数用于设定图像显示窗口,如:figure(1); /figure(2); 5 subplot 把图形窗口分成多个矩形部分,每个部分可以分别用来进行 显示。 Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建 坐标轴为当前坐标轴,用于显示图形。
三、常用函数
•读写图像文件 1 imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 2 imwrite
imwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’)
3 imfinfo imfinfo函数用于读取图像文件的有关信息, 如:imfinfo('e:\w01.tif')
(4) 显示这幅图:imshow(i);
(5) 将变量i转置成j,即j=i';显示j即imshow(j);%在胸前左侧花纹怎么会跑到 右边的呢? 举一个例子加以验证:设a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15]; b=a';此时的b与a 有什么区别? (6) 写入到一个新的图像文件‘abc.tif’中,即imwrite(j,'abc.tif')。 (7) 清除变量命令:clear
窗口来分别显示,注上文字标题。
六. 实验报告要求
1. 实验报告:
(1)实验原理、方法; (2)实验步骤; (3)实验程序; (4)实验结果(处理前图像、处理后图像) 2. 实验结论、总结以及收获、体会等。
5. 函数imrotate对图像进行旋转操作,我们看如下的程序段: I=imread('cameraman.tif'); J=imrotate(I,-15,‘bilinear’); %将图像顺时针旋转150。
K=imrotate(I,-15,'bilinear','crop'); imshow(I)
四、练习 1. 文件的读入与显示
(1) 运行Matlab。 (2) MATLAB窗口构成:在缺省的情况下,由三个窗口组成。命令窗口 (command window)、命令历史(command history)、工作空间 (workspace)。 (3) 调入一个文件:i=imread('pout.tif'); 此时的i出现在什么窗口?是什么类型的变量?大小是多少?
figure,imshow(J)
figure,imshow(K)
程序运行后得到如下的结果:
左边是原图,中间和右边是旋转后的结果,注意右边的图像和中间图像的区 别,右边的图像是由参数’crop’ 实现的,该参数表示将旋转后的图像取与原 图像相同的中心部分输出。
五. 实验内容
1.从磁盘上读入图像“cameraman.tif”,将其分别放大到1.5倍(用
• 图像的显示
1 image image函数是MATLAB提供的最原始的图像显示函数,如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a);
2 imshow
imshow函数用于图像文件的显示,如: i=imread('e:\w01.tif'); imshow(i); title(‘原图像’)%加上图像标题
相关文档
最新文档