MATLAB图像处理基础.ppt_第1页
MATLAB图像处理基础.ppt_第2页
MATLAB图像处理基础.ppt_第3页
MATLAB图像处理基础.ppt_第4页
MATLAB图像处理基础.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机仿真Biomedical Engineeringcharpter5:Matlab图像处理基础,周颖玥 ,5.1 图像处理概述,1.图像和像素 图像:用各种观测系统(照相机、X光机、CT机、B超机)以不同的形式和手段观测客观世界而获得的。 一幅2D图像一般可以用一个2-D数组f(x, y)来表示。x和y表示2-D空间XY中一个坐标点的位置,f则代表图像在点(x, y)的某种性质F的数值:可见光(灰度图)、红外线、微波、X光、宇宙射线 数字图像(image):把连续图像(f、x、y可为任意实数)在坐标空间XY和性质空间F都离散化(f、x、y都在整数中取值)。 像素:图像中的每个基本单元(pi

2、xel)。固定一幅图像的尺寸,像素越多,图像的空间分辨率就越高,就越有可能看出图像的细节。,航片,遥感图像,高分辨率CT图片,2.图像技术及分类,随着现代科技的迅猛发展,图像技术在诸多领域都有广泛的应用:,视频通信:可视电话,电视会议(图像压缩技术)。 文字档案:文字识别,支票、签名辨伪(图像模式识别技术)。 生物医学工程:红白血球计数,X光、CT、MRI、PET图像分析,显微医学操作,对放射图像、显微图像的自动判读理解,人脑心理和生理的研究,医学手术模拟规划. 遥感测绘:巡航导弹制导,无人驾驶飞机飞行,矿藏勘探,资源探测,气象预报 工业生产:工业探伤,无损探测,金相分析,印刷板质量检验,精细

3、印刷品缺陷检测 军事公安:军事侦察,合成孔径雷达图像分析,罪犯脸型合成、识别、查询,指纹、印章的鉴定识别,战场环境/场景建模表示 交通:公路交通管理、自动行驶车辆,基础知识:数学,计算机编程语言(VC、VB、Matlab、Delphi、Java都可以),信号处理等的相关知识。 有待大家在图像工程的不同领域大显身手!,3. 图像表示 如图所述,一幅图像用一个2D数组f (x, y)来表示,其中x、y表示像素的位置,f表示像素的数值。像素与数组元素一一对应。直观地,一幅图像可表示成一个2D 的MN的矩阵。通常M和N被取为2.n(以方便计算),0=f (x, y)=G - 1,G=2.m。 M、N表

4、示图像像素个数的大小,m就是计算机存储一个像素所需的位数(1位能存2级灰度,2位能存4级灰度,m位能存2.m级),也可以表示成矢量的形式:,其中:,4.图像存储与格式 一幅图像需要用大量的数据来表达,因而存储图像也需要大量的空间。在计算机中,图像数据的量度单位有比特(bit)、字节(byte)、千字节(KB)、兆字节(MB)、G字节(GB)。 对于一幅象素点为NN,灰度级有G=2.m个的图像,需要bit = NNm 个。 例如:一幅512512的256级灰度(m=8)的图像,需要5125128=2097152 bits,即2097152/8=262144字节, 262144/1024=256

5、KB。,5.一些图像处理的例子,增强前后的遥感图象,X光片增强,自然景物分割,RNAi Cell Image分割,B超图像的器官提取,Matlab数字图像处理工具箱函数包括以下几类: (1)图像显示函数;(2)图像文件输入、输出函数; (3)图像几何操作函数;(4)图像像素值及统计函数; (5)图像分析函数;(6)图像增强函数; (7)线性滤波函数;(8)二维线性滤波器设计函数; (9)图像变换函数;(10)图像邻域及块操作函数; (11)二值图像操作函数; (12)基于区域的图像处理函数; (13)颜色图操作函数;(14)颜色空间转换函数; (15)图像类型和类型转换函数。,5.2 Matl

6、ab图像处理工具箱,1.图像处理的基本操作: 读入并显示一幅图像: I = imread( ); %读入一幅一般图像 II = dicomread( ); %读入一幅DICOM医学图像 imshow(I, ); %显示一幅图像 imtool(I, ); %不仅可以显示图像,还可以显示每个点的灰度值,并且有工具栏,可以调节窗宽、窗位。,显示图像灰度直方图并实现直方图均衡化: 表示数字图像中每一灰度级与该灰度级出现的频数(该灰度像素的数目)间的统计关系,横坐标表示灰度级,纵坐标表示该灰度像素数目。 imhist(I);,如果由灰度直方图看出图像没有覆盖整个灰度范围,仅在较狭窄范围内,同时图像中灰度

7、值的高低区分不明显,无较好的对比度。可以通过调用histeq函数将图像的灰度值扩展到整个灰度范围中: I2 = histeq(I); m = imread(lena.bmp); m2 = histeq(m); figure;imshow(m,); figure;imshow(m2,),保存图像: imwrite(Inew,new.bmp); dicomwrite(Inew,new.dcm) 读取图像文件头信息: info = imfinfo(lena.bmp); info2 = dicominfo(lung.dcm);,2. Matlab图像类型: 图像类型是指数组数值与像素颜色之间定义的关系

8、,在Matlab图像处理工具箱中,有五种类型的图像: (1)二进制图像: 每一个像素将取两个离散数值(0或1)中的一个,代表状态开或关。 (2)索引图像: 在matlab中,索引图像包含有一个数据矩阵X和一个颜色映射(调色板)矩阵map。颜色映射矩阵map是一个m*3的数据阵列,其中每个元素的值均为0,1之间的双精度浮点型数据,map矩阵的每一行分别表示红色,绿色和蓝色的颜色值。索引图像可把像素值直接映射为调色板数值,每一个像素的颜色通过使用X的数值作为map的下标来获得,如值1指向矩阵map中的第一行,值2指向第二行,以此类推。 颜色映射通常与索引图像存储在一起,当装载图像时,matlab自

9、动将颜色映射表与图像同时装载。 imshow(X,map),索引图像,(3)灰度图像: 灰度图像矩阵中的数据均代表了在一定范围内的灰度级,通常0代表黑色,最高灰度值为白色。大多数情况下,灰度图像很少和颜色映射表一起保存,但在显示灰度图像时,matlab会在后台使用预定义的默认的灰度颜色映射表。 (4)多帧图像: 多帧图像是一种包含多幅图像或帧的图像文件,又称为多页图像或图像序列。在matlab中,它是一个四维数组,其中第四维用来指定帧的序号。 (5)RGB图像: 对一个尺寸为n*m的彩色图像来说,在matlab中则存储为一个n*m*3的多维数据数组,其中数组中的元素定义了图像中每一个像素的红、

10、绿、蓝颜色值。注意:RGB图像不使用调色板,每一个像素的颜色由存储在相应位置的红、绿、蓝颜色分量的组合来确定,由于红、绿、蓝分量分别占用8位,因而理论上可以有2.24=16777216种颜色。这种颜色精度能够再现图像的真实色彩,又称RGB图像为真彩图像。,3. 图像的基本运算: (1)图像点运算: 点运算通过对图像中的每个像素(即像素点上的灰度值)进行计算,从而改善图像显示效果的操作。点运算常用于改变图像的灰度范围及分布,是图像数字化及图像显示的重要工具。 充分利用MATLAB强大的矩阵运算能力,对图像数据矩阵调用各种计算函数进行处理。 m = imread(lena.bmp); I = do

11、uble(m); II = I*0.43+100; mnew = uint8(II); subplot(121);imshow(m, ); subplot(122);imshow(mnew, );,(2)图像的代数运算: 两幅输入图像之间进行点对点的加、减、乘、除运算后得到输出图像的过程。图像的代数运算在图像处理中有着广泛的应用:例如:图像减法可以用来检测同一场景或物体生成的两幅或多幅图像的误差。 注意:无论进行哪一种代数运算都要保证两幅输入图像的大小相等,且类型相同。 函数名 功能描述 imabsdiff 两幅图像的绝对差值 imadd 两个图像的加法 imcomplment 补足一幅图像

12、imdivide 两个图像的除法 imlincomb 计算两幅图像的线形组合 immultiply 两个图像的乘法 imsubtract 两个图像的减法,图像的加法运算: 图像相加一般用于对同一场景的多幅图像求平均,以便有效地降低具有叠加性质的随机噪声。 Z = imadd(X,Y); m1 = imread(lena.bmp); m2 = imread(Barbara.bmp); m3 = imadd(m1,m2); imshow(m3, ),图像的减法运算: 图像减法也称为差分方法,是一种常用于检测图像变化及运动物体的图像处理方法, Z = imsubtract(X,Y); Z = ima

13、bsdiff(X,Y); %计算两幅图像相应像素差值的绝对值 图像的乘法运算: 可以实现掩膜操作,即屏蔽掉图像的某些部分。一幅图像乘以一个常数通常将产生比简单添加像素偏移量自然得多的明暗效果。 Z = immultiply(X,Y); 图像的除法运算: 图像除法运算又称为比率变换,给出的是相应像素值的变换比率,不是每个像素的绝对差异,可用于校正成像设备的非线性影响。 Z = imdivide(X,Y);,(3)图像的几何运算: *图像大小调整: B = imresize(A, scale); %A是原图,scale是缩放因子。 B = imresize(A,mrows ncols); % A是

14、原图,mrows ncols是新的图像大小 . = imresize(., method); %method是插值算法,nearest,bilinear,bicubic m = imread(lena.bmp); mm = imresize(m,0.7); imshow(mm, ) *图像旋转: B = imrotate(A,angle,method); %method是插值方法,angle是旋转角度,逆时针方向,B = imrotate(m,30,bilinear); figure;Imshow(m, ); imshow(B, ),*图像剪裁: 有时候,只需要处理图像中的一部分,或者需要将某

15、某部分取出,这样就要对图像进行剪切。 I2 = imcrop(I); %可以交互式对图像进行剪切,显示图像,允许用鼠标指定剪裁矩阵。 I2 = imcrop(I,rect) %非交互式指定剪裁矩阵,按指定的矩阵框rect剪切图像,rect为四元素向量xmin ymin width height I2 = imcrop(m); imshow(I22, ),将影像显示在圆柱体和球体上: Cylinder:产生圆柱体 语法: x,y,z = cylinder(r,n) 说明: r为一向量,表示圆柱体的半径;n为环绕圆形所设置的点数; Sphere: 产生球形表面 语法: x,y,z = sphere

16、(n) warp(x,y,z,w):将图像显示在产生的曲面上,* 图像变换功能,fft2 功能:进行二维快速傅里叶变换。 load imdemos saturn2 imshow(saturn2) B = fftshift(fft2(saturn2); imshow(log(abs(B),), colormap(jet(64), colorbar,dct2 功能:进行二维离散余弦变换。 radon 功能:用来计算指定方向上图像矩阵的投影,二元函数投影是在某一方向上的线积分。用 iradon() 函数可实现逆radon变换,并经常用于投影成像中。 dwt 功能:实现一维离散小波变换,wavedec

17、 ()和waverec()用于一维信号的多层小波分解和多层重构等。,* 图像增强功能,imadjust 功能:调整图像灰度值或颜色映像表。 J = imadjust(I,lowin;higtin,lowout; lowout),I = imread(pout.tif); J = imadjust(I); figure, imshow(I), figure, imshow(J) RGB1 = imread(football.jpg); RGB2 = imadjust(RGB1,.2 .3 0; .6 .7 1,); figure, imshow(RGB1), figure, imshow(RGB2),图像的边缘化检测,edge() I = imread(circuit.tif); BW1 = edge(I,prewitt); BW2 = edge(I,c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论