实验一Matlab图像处理工具箱初步练习my
实验一 Matlab图像处理基础及图像灰度变换

实验一Matlab图像处理基础
一、实验目的
熟悉Matlab平台下的图像编程环境;
掌握基本的Matlab运算符应用方法;
掌握基本的主、子函数调用方法;
掌握基本的图像读、写等函数;
掌握Matlab帮助文档使用方法。
二、实验内容
1.观察matlab软件环境;
2.练习+,-,*,/,^,.+,.-,.*,./,.^ 等运算符号的使用方法;
3.编写主函数实现图像的读取、显示及写入;
4.编写子函数实现图像的翻转;
5.主函数调用子函数实现图像的翻转;
6.利用Matlab帮助文档查看相应函数的使用方法。
三、知识要点
1.Matlab支持的图像图形格式
TIFF, JEPG, GIF, BMP, PNG 等。
2.与图像处理相关的最基本函数
读:imread; 写:imwrite; 显示:imshow; 信息查看:imfinfo; 图像选装:imrotate 3.Matlab支持的数据类
double, unit8, int8, uint16, int16, uint32, int32, single, char (2 bytes per element), logical.
4.数据类及图像类型间的基本转换函数
数据类转换:B = data_class_name(A);
作业:
1.简述.*,./,.^的使用方法,与+,-,*,/,^的区别,用实例演示。
2.通过主、子函数实现图像的旋转。
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图像处理工具箱

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图像处理工具箱

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数字图像处理初步一、显示图像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显示出来观察图像得特征。
实验一 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 文件方式建立程序。
图形图像处理实验

W=(1/16>*G*f*G
实验结果:
W =
3.1875 0.0625 -0.8125 0.0625
0.0625 -0.0625 0.0625 -0.0625
0.1875 0.0625 -0.8125 0.0625
0.0625 -0.0625 0.0625 -0.0625
C1=dct2(I>。
C2=fftshift(C1>。
subplot(122>。imshow(log(abs(C2>>+1,[0 10]>。
实验结果:
原始图像 DCT系数
3.3 已知二维数字图像矩阵f,求此图像的二维DWT,并反求f。
f=[2 5 5 2。3 3 3 3。3 3 3 3。2 5 5 1]。
len=28。
theta=14。
PSF=fspecial('motion' , len , theta>。
wnr1 = deconvwnr(blurred,PSF>。 %维娜滤波复原图像
figure, imshow(wnr1>。
------------- %读入有噪声模糊图像并命名为blurrednoisy
reg2=deconvreg(Edged,PSF,NP*1.2>。
subplot(2,2,2>, imshow(reg2>。 %大NP
subplot(1,2,1>,imshow(J>。
N=numel(J>。
pr = imhist(J>/N。
kБайду номын сангаас0:255。
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实验结果分析:从上述实验结果,我们可以看出灰度级不同,图像的亮度也不一样。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五. 实验内容 .从磁盘上读入图像“”,将其分别放大到倍(用“”方法)和倍(用“” 方法),显示在不同的图像窗口中。 、读入一幅图像,变换为灰度图像和二值图像,并在同一个窗口内分成三 个子窗口来分别显示图像和灰度图像,注上文字标题。 .从磁盘上读入图像“”,将其放大倍,并将结果用格式以“”为文件名, 写入磁盘。(用命令,该命令的用法请用 查看) .给定一幅图像,如,分别将其顺时针旋转度,逆时针旋转度。 . 给定一幅图像,如,以不同灰度级显示,比较显示的不同效果。 . 对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子 窗口来分别显示,注上文字标题。
六. 实验报告要求 1. 实验报告: (1)实验原理、方法; (2)实验步骤; (3)实验程序; (4)实验结果(处理前图像、处理后图像) 2. 实验结论、总结以及收获、体会等。
. 函数对图像进行旋转操作,我们看如下的程序段: (''); (,‘’); 将图像顺时针旋转。 (,'',''); () () ()
程序运行后得到如下的结果:
左边是原图,中间和右边是旋转后的结果,注意右边的图像和中间图像的区 别,右边的图像是由参数’’ 实现的,该参数表示将旋转后的图像取与原图 像相同的中心部分输出。
. 在中,函数()可用来改变图像的大小,其中表示图像,实数>是放大倍数, 用来选择计算数据的方法,其取值及意义为:
‘’最近邻插值法,’’双线性插值法,’’双三次插值法。 我们看下面这段程序:
(''); (); 将原图形放大倍 () ()
也可以指定目标图像的大小,此时()的调用格式为: (,[]) 其中[]表示将图像的大小调整为×。
(,,)分成*个小窗口,在第个窗口中创建坐标轴为当前坐 标轴,用于显示图形。
•图像类型转换 • •把真彩图像转换为灰度图像 •() • •通过阈值化方法把图像转换为二值图像 •(,) •表示灰度阈值,取值范围(即),表示阈值取自原图像灰度范 围的
改变图像的大小 (,[ ])将图像大小调整为行列 . 图像旋转 ();使用指定的插值方法(逆时针顺时针方向将图像旋转角 度。
• 图像的显示 • • 函数是提供的最原始的图像显示函数,如: • []; • (); • • 函数用于图像文件的显示,如: • (':\'); • (); • (‘原图像’)加上图像标题
函数用显示图像的颜色条,如: (':\'); (); ;
函数用于设定图像显示窗口,如:(); ();
把图形窗口分成多个矩形部分,每个部分可以分别用来进行 显示。
实验一图像处理工具箱的初步练习
一、实验目的 . 掌握有关数字图像处理的基本概念; . 熟悉图像处理工具箱; . 熟悉使用进行数字图像的读出和显示; . 熟悉运用指令进行Βιβλιοθήκη 像旋转和缩放变换。二、实验环境
以上版本、 或计算机
三、常用函数
•读写图像文件 • • 函数用于读入各种图像文件,如:(':\') • • 函数用于写入图像文件,如:(,':\',’’) • • 函数用于读取图像文件的有关信息, • 如:(':\')
(,’’) 通过指定参数对旋转后的图像进行剪切(取图像的中间部 分)
•图像运算 • •两幅图像相加,要求同样大小,同种数据类型 •(,)表示图像 • •两幅图像相减,要求同样大小,同种数据类型 •(,) 表示图像
(,) 表示图像*
(,) 表示图像
四、练习 文件的读入与显示 () 运行。 () 窗口构成:在缺省的情况下,由三个窗口组成。命令窗口( )、命令历史
() 清除变量命令:
执行这个命令后,窗口中的变量有没有?怎么验证?
() 清除用户开设的窗口命令:
() 调入图像文件''并显示。
. 灰度图像
分别选择不同的灰度级(如、、、、个)来显示同一幅图像(如)。
('');
()
显示个灰度级
()
显示个灰度级
()
显示个灰度级
()
显示个灰度级
() 显示个灰度级
. 图像 (‘’); 为** (); 将这一图写入到文件中去,将此图的尺寸改为*,其效果如何?
( )、工作空间()。 () 调入一个文件:('');
此时的出现在什么窗口?是什么类型的变量?大小是多少? () 显示这幅图:();
() 将变量转置成,即';显示即();在胸前左侧花纹怎么会跑到右边的呢?
举一个例子加以验证:设[
]; ';此时的与有什么区别?
() 写入到一个新的图像文件‘’中,即(,'')。