资源描述:
《matlab实现美图秀秀基本功能ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于MATLAB的美图秀秀功能的实现组员:全建泽谢岳鹏廖煜槟林坤洪何孟叶灼楷陆城文牛黄凯恩孔翰吴铵安陈栩荣MATLAB实现美图秀秀基本功能OUTLINE一、图像剪切二、旋转三、放大缩小四、灰度变换五、对比度增强六、滤波去噪七、祛斑祛痘MATLAB实现美图秀秀基本功能PPT模板下载:1ppt/moban/剪切剪切一PPT模板下载:1ppt/moban/J=imcrop(I);%交互式指定剪切区域subplot(2,2,2);imshow(J);ToDO:剪切一PPT模板下载:1ppt/moban/函数名称:imcrop函数功能:在MATLAB中
2、,该函数用于返回图像的一个裁剪区域。调用格式:I2=imcrop(I)X2=imcrop(X,map)RGB2=imcrop(RGB)这三种调用格式把图像显示在一个图像窗口中,并允许用户以交互方式使用鼠标选定要剪切的区域。I2=imcrop(I,rect)X2=imcrop(X,map,rect)RGB2=imcrop(RGB,rect)这三种格式都指定了要裁剪的矩形区域。ToDO:剪切一角度旋转旋转二B=imrotate(A,angle),将图像A绕图像的中心点旋转angle度,正数表示逆时针旋转,负数表示顺时针旋转,返回旋转后的图像矩阵,
3、旋转后的图像超出的部分填充0(黑色),以这种格式调用该函数,该函数默认采用最近邻线性插值(Nearest-neighborinterpolation)。B=imrotate(A,angle,method),使用method参数可以改变插值算法:{‘nearest’}:最邻近线性插值(Nearest-neighborinterpolation)'bilinear'双线性插值(Bilinearinterpolation)‘bicubic’:双三次插值(或叫做双立方插值)(Bicubicinterpolation)B=imrotate(A,angl
4、e,method,bbox),bbox参数用于指定输出图像属性:'crop':通过对旋转后的图像B进行裁剪,保持旋转后输出图像B的尺寸和输入图像A的尺寸一样。{'loose'}:使输出图像足够大,以保证源图像旋转后超出图像尺寸范围的像素值没有丢失。一般上这种格式产生的图像的尺寸都要大于源图像的尺寸。旋转二放大缩小三A1=imresize(A,5,'bilinear');函数用于对图像做缩放处理B=imresize(A,m),返回的图像B的长宽是图像A的长宽的m倍,即缩放图像。m大于1,则放大图像;m小于1,缩小图像。B1=imresize(A
5、,5,'nearest');'nearest':这个参数也是默认的,即改变图像尺寸时采用最近邻插值算法;'bilinear':采用双线性插值算法;放大缩小三灰度变换四I2=rgb2gray(I);%函数功能将真彩色图像转换为灰度图像。%调用格式I=rgb2gray(RGB)%将真彩色RGB图像转换成灰度图像,RGB并不发生变化%newmap=rgb2gray(map)返回一个灰度调色板。灰度变换四增强对比度对比度增强五M=fspecial('unsharp',0.9);N=imfilter(I,M);fspecial函数用于建立预定义的
6、滤波算子,其语法格式为:h=fspecial(type)h=fspecial(type,para)其中type指定算子的类型,para指定相应的参数;Type的类型有:1、'average'averagingfilter为均值滤波,参数为hsize代表模板尺寸,默认值为[3,3]。2、'disk'circularaveragingfilter为圆形区域均值滤波,参数为radius代表区域半径,默认值为5.3、'gaussian'Gaussianlowpassfilter为高斯低通滤波,H=FSPECIAL('gaussian',HSIZE,S
7、IGMA)有两个参数,hsize表示模板尺寸,默认值为[33],sigma为滤波器的标准值,单位为像素,默认值为0.5.4、'unsharp'unsharpcontrastenhancementfilter为对比度增强滤波器。参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2.对比度增强五imag1=medfilt2(imag0);%中值滤波imag2=wiener2(imag0);%自适应滤波H=fspecial('average',[77]);B=imfilter(I,H);subplot(2,2,2);imshow(B
8、);title('均值滤波');H=fspecial('disk',7);C=imfilter(I,H);subplot(2,2,3);imshow(C);titl