资源描述:
《最新图形图像处理识别技术与医学信息分析-05-医学图形图像处理识别技术与医学信息分析_讲课课件ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图形图像处理识别技术与医学信息分析-05-医学图形图像处理识别技术与医学信息分析_讲课第五讲Mathlab、Vtk、Mtk与医学图像的处理Mathlab用于图像处理图像基本运算图像增强图像分割技术实验回顾:通常以数字图像的像素数M*N来表示该图像的空间分辨率。通常以灰度级别的bit数来表示该图像的明暗(灰度级)分辨率,例如:8bit代表2的8次方=256级灰度;6bit代表2的6次方=64级灰度等等空间分辨率和明暗分辨率是表征一幅数字图像质量的重要指标之一。一、Mathlab软件用于在图像处理上的使用介绍1.图像文件读取语句
2、imread(‘filename’,’format’)说明:从图形文件读入图像的函数,其中filename是要读入的图像的文件名,包括路径和扩展名,当图像文件和matlab文件在同一目录下时,可省略路径;fotmat是图像的格式,可以支持jpg,bmp,gif,png等众多格式;filename和fotmat都要用单引号。例如:G=imread('X_chest.bmp','bmp');从“X_chest.bmp”将一个bmp格式的影像读入到MATLAB工作空间并赋给变量G。使用介绍_续4例如:C=imrotate(G,30,'
3、bilinear');是将图形G逆时针方向旋转30度,使用’bilinear’双线性法差值,若要顺时针方向旋转30度,则需要在度数30的前面加个负号ValueDescription{'nearest'}Nearest-neighborinterpolation'bilinear'Bilinearinterpolation'bicubic'BicubicinterpolationNote:Bicubicinterpolationcanproducepixelvaluesoutsidethe例如:>>C=imrotate(G,30,
4、'bilinear');>>subplot(1,3,1);>>imshow(G,256);>>subplot(1,3,2);>>imshow(B,256);>>subplot(1,3,3);>>imshow(C,256);Rotateshow例子演示使用介绍_续5(6)函数histeq(G)直方图均衡化函数Histeq函数是用直方图均衡化增强对比度。句法:J=histeq(I,hgram)J=histeq(I,n)[J,T]=histeq(I,...)说明:histeq在一个灰度影像或一个彩色的索引影像上,通过值得变换来增强影像
5、对比度,所以输出影像的直方图近似匹配一个指定的直方图。.例如:>>J=histeq(G,256);>>subplot(2,2,1);>>imshow(G,256);>>subplot(2,2,2);>>imshow(B,256);>>subplot(2,2,3);>>imshow(C,256);>>subplot(2,2,4);>>imshow(J,256);histeqrotashow例子演示使用介绍_续63.写图像文件函数imwrite()将影像写入图像文件。句法:imwrite(A,filename,fmt)说明:imwr
6、ite(A,filename,fmt)将影像A以fmt指定的格式写入由filename指定的文件。A可以是M×N(灰度级影像)或者M×N×3(彩色影像)数组。A不能是空数组。如果指定格式是TIFF,imwrite也可以接受含有颜色数据的M×N×4数组,它用于CMYK彩色空间。二、图像的基本运算1.代数运算代数运算:对两幅以上的输入图像中对应像素的灰度值作加、减、乘、除等运算后,将运算结果作为输出图像相应像素的灰度值。特点:输出图像像素的灰度取决于输入图像的对应像素的灰度值,与邻域内像素灰度值无关不会改变像素的空间位置主要运算:算
7、术运算(+、-、*、/)逻辑运算(求反、异或、或、与)图像的运算是指对图像像素进行的运算,也就是对像素灰度值或空间坐标值的运算。图像的基本运算主要有:代数运算和几何运算。图像的基本运算_续1图像的加法运算可用于对同一场景的多幅图像求平均值以降低累加随机噪声的影响;也可用于将一幅图像的内容叠加到另一幅图像上去,以达到二次曝光,信息叠加的目的。加法运算公式:G(x,y)=G1(x,y)+G2(x,y)其中:G(x,y)代表输出图像,G1(x,y)和G2(x,y)代表两幅输入图像。例题1:对图像“Ex3.bmp”和“Ex2.bmp”进
8、行加法运算。>>clearall>>G1=double(imread('d:matlabworktuex3','bmp'));>>G2=double(imread('d:matlabworktuex2.bmp','bmp'));>>G=0.5*(G1