实验1 图像的基本操作
- 格式:doc
- 大小:912.51 KB
- 文档页数:7
实验一图像增强实验一、实验目标:掌握图像增强的算法。
二、实验目的:1. 了解灰度变换增强和空域滤波增强的Matlab实现方法2. 掌握直方图灰度变换方法3. 掌握噪声模拟和图像滤波函数的使用方法三、实验内容:(1)图像的点操作、邻域操作算法。
(2)图像的直方图处理算法。
四、实验设备:1.PIII以上微机; 2.MATLAB6.5;五、实验步骤:(1)读入图像:用matlab函数实现图像读入(可读入Matlab中的标准测试图像)(原始图像)(2)实现图像点操作运算(如gamma校正,对数校正等)(3)实现图像的邻域处理(实现均值滤波,拉普拉斯滤波)(4)实现直方图均衡处理matlab 源程序clear all;clc;f=imread('girl_noise.jpg');figure,imshow(f),title('原始图像');[m,n]=size(f);f0= im2double(f); % 整型转换为double 类f1=f0;std_i=zeros(1,m-2);%灰线处理for i=2:m-1%灰线处理std_i(i-1)=std(f0(i,:));if(std_i(i-1)<0.1)for j=1:mf0(i,j)=(f0(i-1,j)+f0(i+1,j))/2;endendendfigure,imshow(f0),title('滤除灰线后的图像');fz=f0-f1;[r,c]=find(fz~=0);%寻找灰线噪声的位置f2=f0;change=0;count=0;for i=3:m-2%白线处理for j=1:mif(abs(f0(i,j)-f0(i-1,j))>0.2&&abs(f0(i,j)-f0(i+1,j))>0.2) count=count+1;endif(count>n*0.8)count=0;change=1;break;endendif(change==1)for k=1:mf0(i,k)=(f0(i-1,k)+f0(i+1,k))/2;endchange=0;count=0;endendfigure,imshow(f0),title('滤除白线后的图像');fz1=f2-f0;[r1,c1]=find(fz1~=0); %寻找白线噪声的位置fn = medfilt2(f0); %反射对称填充figure, imshow(fn),title('中值滤波后的图像');f0 = im2double(fn); % 整型转换为double 类g =2*f0- imfilter(f0,w4, 'replicate'); % 增强后的图像figure, imshow(g),title('高提升滤波图像(A=2)');图像处理结果六、结果分析从上面结果可以看出,带状噪声处理部分,已经基本将带状噪声去除。
(实验1:描绘小灯泡的伏安特性曲线)名称限流接法分压接法电路图闭合开关前滑片位置使滑动变阻器所用的电阻最大(电阻R的电流最小),滑片应位于最左端使滑动变阻器与负载R并联的电阻为零(R的电流、电压为零),滑片应位于最左端负载两端的电压调节范围RR0+RU~U0~U1.描绘小灯泡的伏安特性曲线.2.分析I-U曲线的变化规律.二、实验原理1.实验电路:小灯泡的电阻很小,电流表采用外接法;因电压要求从零开始连续变化,故滑动变阻器采用分压式接法.2.曲线形状:以I为纵轴、U为横轴画出小灯泡的I-U图线,由于金属的电阻率(电阻)随温度的升高而增大,其伏安特性曲线不是一条直线.3.实验器材选取①安全;②精确;③操作方便.【实验要求】.以下是“描绘小灯泡的伏安特性曲线”实验的操作步骤:A.闭合开关,记下电流表、电压表的一组示数(I,U),移动滑动变阻器的滑动触头位置,每移动一次记下一组(I,U)值,共测出12组左右的数据B.将电流表、电压表、滑动变阻器、小灯泡、电源、开关正确连接成电路.电流表外接,滑动变阻器采用分压式,如右图示C.开关闭合前,调节触头位置,使触头处于滑动变阻器的左端D.按所测数据,在坐标纸上描点并将各点用直线段连接起来,得出小灯泡的伏安特性曲线以上各步骤顺序或者操作中存在错误或不妥之处,应如何改正将各步骤纠正后,按实验先后顺序排列起来:_________________________________________________________________________________.1.探究小灯泡L的伏安特性,连好图示的电路后闭合开关,通过移动变阻器的滑片,使小灯泡中的电流由零开始逐渐增大,由电流表和电压表得到的多组读数描绘出的U-I图象应是()2.有一灯泡上标有“6 V0.1 A”字样,现要测量该灯泡的伏安特性曲线,有下列器材供选用:A.电压表(0~5 V,内阻2.0 kΩ) B.电压表(0~10 V,内阻3.0 kΩ)C.电流表(0~0.3 A,内阻2.0 Ω) D.电流表(0~6 A,内阻1.5 Ω)E.滑动变阻器(30 Ω,2 A) F.滑动变阻器(100 Ω,0.5 A)G.学生电源(直流9 V)及开关、导线等(1)要求电压从0 V开始测量.实验的电路图应选用下列的图________(填字母代号).(2)开关闭合前,调节触头位置,使触头处于滑动变阻器的___________端(左、右、中间);实验中所用的电压表应选________,电流表应选________,滑动变阻器应选________.3.有一灯泡上标有“6 V0.1 A”字样,现要测绘该灯泡的伏安特性曲线,有下列器材可供选用A.电压表(0~5 V,内阻2.0 kΩ) B.电压表(0~10 V,内阻3.0 kΩ)C.电流表(0~100 mA,内阻2.0 Ω) D.电流表(0~6 A,内阻1.5 Ω)E.滑动变阻器(30 Ω,2 A) F.滑动变阻器(100 Ω,0.5 A)G.学生电源(直流9 V)及开关、导线等(1)实验中所用的电压表应选________,电流表应选________,滑动变阻器应选________.(2)画出实验电路图,要求电压从零开始测量_______(3)根据你的实验电路,将图中所示的器材连成实验电路.(4)该同学描绘出的IU图象应是图中的________.。
实验一CT扫描及图像重建过程一、实验目的:1、加强对CT扫描过程及图像重建原理的理解2、熟悉主要CT扫描方式及重建方法3、熟悉扫描及重建参数对成像结果的影响二、预习要求:1、复习以前学过的CT图像重建原理三、实验原理:Ctsim1.0软件进行重建模拟四、实验设备与器材:CT模拟软件五、实验内容与步骤:1.笔形束数据采集①在“Pen Beam Scan Mode”下,对样品1(左)和样品2(右)的扫描结果:②在“Pen Beam Scan Mode”下,对样品3(左)和样品4(右)的扫描结果:③在“Pen Beam Scan Mode”下,对样品5(左)和样品6(右)的扫描结果:④在“Pen Beam Scan Mode”下,对样品7(左)和样品8(右)的扫描结果:2.笔形束图像重建实验(1)样品3在旋转角度为90°时的正弦图与重建图像:样品3在旋转角度为180°时的正弦图与重建图像:样品3在旋转角度为360°时的正弦图与重建图像:(2)样品7在旋转角度为90°时的正弦图与重建图像:样品7在旋转角度为180°时的正弦图与重建图像:样品7在旋转角度为360°时的正弦图与重建图像:(3)样品6在步进角度由1°变为3°后的图像对比:样品7在步进角度由1°变为3°后的图像对比:(4)样品6在步进角度6°时的图像:样品7在步进角度6°时的图像:(5)样品6改变参数矩阵为256×256样品6改变参数矩阵为512×512样品7改变参数矩阵为256×256样品7改变参数矩阵为512×5123.迭代重建实验(1)重建方法选择“ART”,设置迭代次数为2和10的重建对比:(2)重建方法选择“ART”,设置迭代因子为0.1和1重建对比:4.扇形束数据采集:①在“Fan Beam Scan Mode”下,对样品1(上)和样品2(下)的扫描结果:②在“Fan Beam Scan Mode”下,对样品3(上)和样品4(下)的扫描结果:5.扇形束采集参数的影响(1)样品2在源心距为250mm和500mm时的正弦图与重建图像:(2)样品6在源心距为250mm和500mm时的正弦图与重建图像:样品7在源心距为250mm和500mm时的正弦图与重建图像:(3)样品6在源头距为250mm,步进角度由1°变为3°的图像对比:样品6在源头距为500mm,步进角度由1°变为3°的图像对比:(4) 样品6在源头距为250mm,设置步进角度6°:样品7在源头距为500mm,设置步进角度6°(5)样品6在探测器对应角度为0.5°和2°的图像对比:6.笔形束的重建方法比较旋转角度为360°时,分别用不带滤波的反投影法(Nonfilter BP,左图)、滤波反投影(FBP,中图)、迭代重建法(ART,右图)重建的图像如下:可见,滤波反投影法的重建效果最好。
实验一图像的贝叶斯分类一、实验目的将模式识别方法与图像处理技术相结合,掌握利用最小错分概率贝叶斯分类器进行图像分类的基本方法,通过实验加深对基本概念的理解。
二、实验仪器设备及软件HP D538、MATLAB三、实验原理1 基本原理阈值化分割算法是计算机视觉中的常用算法,对灰度图象的阈值分割就是先确定一个处于图像灰度取值范围内的灰度阈值,然后将图像中每个像素的灰度值与这个阈值相比较。
并根据比较的结果将对应的像素划分为两类,灰度值大于阈值的像素划分为一类,小于阈值的划分为另一类,等于阈值的可任意划分到两类中的任何一类。
此过程中,确定阈值是分割的关键。
对一般的图像进行分割处理通常对图像的灰度分布有一定的假设,或者说是基于一定的图像模型。
最常用的模型可描述如下:假设图像由具有单峰灰度分布的目标和背景组成,处于目标和背景内部相邻像素间的灰度值是高度相关的,但处于目标和背景交界处两边的像素灰度值有较大差别,此时,图像的灰度直方图基本上可看作是由分别对应于目标和背景的两个单峰直方图混合构成。
而且这两个分布应大小接近,且均值足够远,方差足够小,这种情况下直方图呈现较明显的双峰。
类似地,如果图像中包含多个单峰灰度目标,则直方图可能呈现较明显的多峰。
上述图像模型只是理想情况,有时图像中目标和背景的灰度值有部分交错。
这时如用全局阈值进行分割必然会产生一定的误差。
分割误差包括将目标分为背景和将背景分为目标两大类。
实际应用中应尽量减小错误分割的概率,常用的一种方法为选取最优阈值。
这里所谓的最优阈值,就是指能使误分割概率最小的分割阈值。
图像的直方图可以看成是对灰度值概率分布密度函数的一种近似。
如一幅图像中只包含目标和背景两类灰度区域,那么直方图所代表的灰度值概率密度函数可以表示为目标和背景两类灰度值概率密度函数的加权和。
如果概率密度函数形式已知,就有可能计算出使目标和背景两类误分割概率最小的最优阈值。
假设目标与背景两类像素值均服从正态分布且混有加性高斯噪声,上述分类问题可以使用模式识别中的最小错分概率贝叶斯分类器来解决。
实验一图像的基本操作和基本统计指标计算一、实验目的熟悉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数字图像处理初步一、实验目的1、熟悉及掌握在MATLAB中能够处理哪些格式图像。
2、熟练掌握在MATLAB中读取图像,并获取图像的大小、颜色、高度、宽度等等相关信息。
3、掌握在MATLAB中按照指定要求存储一幅图像的方法。
4、熟悉数字图像矩阵的格式转换二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类: 亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
规定双精度型归一化亮度图像的取值范围是[0,1](2) 二值图像一幅二值图像是一个取值只有0和1的逻辑数组。
而一幅取值只包含0和1的uint8类数组,在MATLAB中并不认为是二值图像。
1光电图像处理实验(图像基本操作)光电图像处理实验报告学⽣姓名:班级:学号:指导教师:实验⽇期:⼀、实验名称:图像基本操作⼆、实验⽬的:1.掌握MATLAB的操作窗⼝功能;2.熟练掌握MATLAB的图像处理基本操作,熟练掌握数字图像读取、显⽰、保存;3.熟练掌握MATLAB各种图像格式⽂件的互相转换。
三、实验原理:MATLAB是由美国mathworks公司发布的主要⾯对科学计算、可视化以及交互式程序设计的⾼科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及⾮线性动态系统的建模和仿真等诸多强⼤功能集成在⼀个易于使⽤的视窗环境中,为科学研究、⼯程设计以及必须进⾏有效数值计算的众多科学领域提供了⼀种全⾯的解决⽅案,并在很⼤程度上摆脱了传统⾮交互式程序设计语⾔(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进⽔平。
MATLAB和Mathematica、Maple并称为三⼤数学软件。
它在数学类科技应⽤软件中在数值计算⽅⾯⾸屈⼀指。
MATLAB可以进⾏矩阵运算、绘制函数和数据、实现算法、创建⽤户界⾯、连接其他编程语⾔的程序等,主要应⽤于⼯程计算、控制设计、信号处理与通讯、图像处理、信号检测、⾦融建模设计与分析等领域。
MATLAB⼯作环境:桌⾯包括4个⼦窗⼝:命令窗⼝、⼯作空间窗⼝、当前路径窗⼝、历史命令窗⼝。
命令窗⼝是⽤户在提⽰符(>>)处键⼊MATLAB命令和表达式的地⽅,也是显⽰那些命令输出的地⽅。
⼯作空间窗⼝显⽰当前的变量名称和值。
双击可以启动数组编辑器。
当前路径窗⼝显⽰当前的⼯作⽬录。
⼯作⽬录的内容显⽰在当前⽬录窗⼝内。
可通过Set Path改变。
历史命令窗⼝包含⽤户已在命令窗⼝中输⼊的命令的记录。
如果要重新执⾏以前的MATLAB命令,可在历史命令窗⼝中双击该命令即可。
使⽤MATLAB编辑器创建M⽂件:MATLAB编辑器既是⽤于创建M⽂件的⽂本编辑器,也是调试器。
GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)
实验名称图像的基本操作课程名称数字图像处理课程号
学院(系) 信息学院专业电子信息工程班级电子1103班
学生姓名杜嘉星学号201011611308 实验地点实验日期
实验1 图像的基本操作
一、实验目的:
学会用MA TLAB工具箱中的函数对图像进行读取、显示和保存等的基本操作。
二、实验内容:
1、仔细阅读MA TLAB帮助文件中有关函数imread, size, whos, imshow, imwrite的使用
说明,能充分理解其使用方法。
2、并能运用以上函数完成相应的实验操作。
三、实验要求:
掌握并能熟练应用上述函数。
实验报告需要提交每步处理的命令并回答相关的问题。
四、实验相关知识:
学习有关函数的使用
imread
使用函数imread可以将图像读入MA TLAB环境,imreaed的语法为imread(’filename’),其中filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。
例如,
f=imread(‘chestxray.jpg’);
要想读取指定路径中的图像,最简单的办法就是在filename中输入完整的或相对的。
例如,f=imread(‘D:\myimages\chestxray.jpg’);
size
函数size可给出一幅图像的行数和列数。
用如下格式可自动确定一幅图像的大小:[M,N]=size(f); 该语法将返回图像的行数(M)和列数(N)。
whos
函数whos可以显示出一个数组的附加信息。
语句为:whos f
imshow
在MA TLAB桌面上图像一般使用函数imshow来显示,该函数的基本语法为:imshow(f,
G)。
其中,f是一个图像数组,G是显示该图像的灰度级数。
若省略G,则默认的灰度级数是256。
语法imshow(f, [low high])会将所有小于或等于low的值都显示为黑色,所有大于或等于high的值都显示为白色。
语法imshow(f,[ ])可以将变量low设置为数组f的最小值,将变量high设置为数组f的最大值。
这一形式在显示一幅动态范围较小的图像或既有正值又有负值的图像时非常有用。
imwrite
函数imwrite可以将图像写到磁盘上,该函数的语法为imwrite(f, ’filename’)。
该语法结构中,filename中包含的字符串必须是一种可识别的文件格式扩展名。
若filename中不包含路径信息,则imwrite会将文件保存到当前的工作目录中。
另外一种常用的只适用于JPEG 图像的函数用法是:imwrite(f, ’filename.jpg’, ’quality’, q),q是一个0到100间的整数,q越小,图像退化就越严重。
五、实验步骤:
1、读入和显示图象
(1)从硬盘中读入一幅名为1a.tif的图像,用whos提取该图像的基本信息,并使用imshow将其显示出来。
(2)读入图像1b.tif,并使用imshow显示。
这幅图像的动态范围很小,但可以使用下列语句修正其显示结果:imshow(h, [ ])。
写出两次图像显示效果有什
么差别。
2、保存图像:读入1c.tif,分别以q=50、25、15和0将该图像用imwrite函数保存到硬盘上,文件名分别为1c50.jpg,1c25.jpg,1c15.jpg,1c0.jpg。
写出q值对保存的图像有何影响。
3、用MATLAB语言编程读入一幅24bit的彩色图像,将其转化成灰度图像、二值图像。
并将所有图像保存。
五丶程序代码与图片
读取图片
clear all;
close all;
clc;
f=imread('D:\image\avril.jpg'); %读取图片并显示
[m,n]=size(f);
whos f;
imshow(f);
Size代码结果:
Name Size Bytes Class
f 559x484x3 811668 uint8 array Grand total is 811668 elements usin
g 811668 bytes
Imshow(h,[ ])的图片显示结果与原图的差别:
clear all;
close all;
clc;
f=imread('D:\image\avril.tif'); %读取图片并显示
subplot(131);
imshow(f);
xlabel('(a) 原图');
g=imread('D:\image\avril.tif');
subplot(132),
imshow(g);
xlabel('(b) (f,[])')
imwrite(f, ’filename.jpg’, ’quality’, q)q的取值对图像的影响:clear all;
close all;
clc;
f=imread('D:\image\avril.jpg'); %读取图片并显示
imwrite(f,'D:\image\Ic50.jpg','quality',50);
imshow(f);
Ic0
Ic15
Ic25
Ic50
灰度图像:
f=rgb2gray(imread('D:\image\avril.jpg')); imshow(f)
imwrite(f,'huidu.jpg');
二值图像
a=imread('D:\image\avril.jpg');
b=rgb2gray(a);
level=graythresh(b);
c=im2bw(b,level);
imshow(c);
实验结果分析与总结:
在经过对q值的几次测试之后,通过保存出来的图片的对比,q值越小,图片的清晰度月模糊。
这次的实验主要对imread, size, whos, imshow, imwrite函数的使用和了解,能充分理解其使用方法。
这次实验对在matlab上的图片的写入和读出,并没有太多的难度,但是这次的实验主要是让我们对在matlab上经行图片的初步处理,基本上实验还是很成功的。
成绩指导教师日期
第页,共页。