资源描述:
《matlab图像处理与动画制作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB图像处理和动画制作简述图像处理工具箱简述图像处理代数运算几何运算图像分析动画制作单幅多帧图像动画制作多幅逐帧图像动画制作多幅逐帧图像制作GIF2/16一、图像处理工具箱简述图像处理工具箱以数字图像处理理论为基础,用MATLAB语言构造出一系列用于图像数据显式与处理的函数。它可以实现:代数运算;几何运算(缩放、剪裁等);分析操作(边缘检测、四叉树分解等);增强操作(亮度、直方图均衡、消噪);图像变换(离散余弦、傅里叶);领域处理;形态学处理;彩色图像处理等。图像格式指的是存储图像文件采用的格式,有BMP、TIFF、JPEG、GIF、PCX、PSD
2、、WMF等。图像类型是指数组数值与像素颜色之间定义的关系,它与图像格式概念有所不同,MATLAB图像工具箱一般有二值图像、索引图像、灰度图像、RGB图像。3/16二、图像处理1、图像代数运算(1)加法:函数调用格式:Z=imadd(X,Y)实现:图像+图像,图像+常数例:加法运算I=imread('rice.png');K=imread('cameraman.tif');J=imadd(I,80);M=imadd(I,K);subplot(231);imshow(I);title('原图');subplot(232);imshow(J);title('加标
3、量');subplot(234);imshow(I);title('原图1');subplot(235);imshow(K);title('原图2');subplot(236);imshow(M);title('相加');4/16(2)减法:检测图像变化及运动物体,作为许多图像处理工作的准备步骤。函数调用格式:Z=imsubtract(X,Y)实现:图像-图像,图像-常数Z=imsubtract(a,b)%差值结果小于0的赋值为0,a和b大小相等Z=imabsdiff(a,b)%差值结果取绝对值例1:函数imsubtract()的应用I=imread('1
4、.tif');K=imread('2.tif');J=imsubtract(K,I);subplot(131);imshow(I);title('原图1');subplot(132);imshow(K);title('原图2');subplot(133);imshow(J);title('相减');5/16例2:函数imabsdiff()的应用I=imread('rice.png');K=imread('cameraman.tif');J=imsubtract(I,K);subplot(231);imshow(I);title('原图1');subplot
5、(232);imshow(K);title('原图2');subplot(233);imshow(J);title('相减');J=imabsdiff(I,K);subplot(234);imshow(I);title('原图1');subplot(235);imshow(K);title('原图2');subplot(236);imshow(J);title('相减');6/162.图像几何运算(1)旋转:图像旋转函数imrotate调用格式:B=imrotate(A,angle,method)例:图像旋转a=imread('lena.bmp');a1=
6、imrotate(a,-30);a2=imrotate(a,-45,'bicubic');a3=imrotate(a,-60,'bilinear');subplot(141);imshow(a);subplot(142);imshow(a1);subplot(143);imshow(a2);subplot(144);imshow(a3);9/16(2)裁剪:图像裁剪函数imcrop调用格式:I=imcrop(X,rect)例:图像裁剪a=imread('lena.bmp');a1=imcrop(a,[100100300200]);subplot(221);
7、imshow(a);subplot(222);imshow(a1);subplot(223);imshowlena.bmpI=imcrop;subplot(224);imshow(I);10/163、图像分析(1)直方图均衡化灰度直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。直方图均衡化处理是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同,把给定图像的直方图分布改变成“均匀”分布直方图分布。例:直方图均
8、衡化处理I=imread('pout.tif');J=histeq