Matlab图像几何操作.ppt

上传人:小飞机 文档编号:5438994 上传时间:2023-07-07 格式:PPT 页数:64 大小:1.89MB
返回 下载 相关 举报
Matlab图像几何操作.ppt_第1页
第1页 / 共64页
Matlab图像几何操作.ppt_第2页
第2页 / 共64页
Matlab图像几何操作.ppt_第3页
第3页 / 共64页
Matlab图像几何操作.ppt_第4页
第4页 / 共64页
Matlab图像几何操作.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《Matlab图像几何操作.ppt》由会员分享,可在线阅读,更多相关《Matlab图像几何操作.ppt(64页珍藏版)》请在三一办公上搜索。

1、第2章 图像几何操作,2.1 图像的裁剪、缩放与旋转2.2 图像的几何变换 2.3 图像的邻域操作2.4 图像的区域选取2.5 图像增强2.6 图像滤波,2.1 图像的裁剪、缩放与旋转,图像裁剪就是在原图像中裁剪出图像块来。根据裁剪区域的不同,可以对图像进行:矩形区域裁剪:imcrop函数(1.3节)多边形区域裁剪:roiploy函数(2.4节),2.1 图像的裁剪、缩放与旋转,图像缩放缩小:从图像中,删除部分像素。放大:向图像中,增加部分像素。增加像素的取值是根据周围相邻像素的值进行插值计算得到的。图像缩放的常用函数是imresize。通过查看imresize函数的帮助信息,可以看出,imr

2、esize可以使用三种不同的插值方法:最近邻插值法:imresize函数默认的插值方法双线性插值法双立方插值法,2.1 图像的裁剪、缩放与旋转,图像缩放:最近邻插值法 nearest令新增加的像素的灰度值等于距它最近的输入像素的灰度值。其实现方法最为简单,处理速度快,但它只是将原始象素简单复制到其邻域内,随着放大倍数的增加,放大图像会出现相对严重的方块和锯齿,不能很好的保留原始图像的边缘信息。,2.1 图像的裁剪、缩放与旋转,图像缩放:双线性插值法 bilinear要求新增加的像素的灰度值,由周围的4个像素的灰度值决定。双线性内插值法计算量大,但缩放后图像质量高,不会出现像素值不连续的的情况。

3、由于双线性插值具有低通滤波器的性质,使高频分量受损,所以可能会使图像轮廓在一定程度上变得模糊。,2.1 图像的裁剪、缩放与旋转,图像缩放:双立方插值法 bicubic能够克服以上两种算法的不足,计算精度高,但计算量大,因为计算新增加的像素的灰度值时,需要考虑周围的16个邻点。,2.1 图像的裁剪、缩放与旋转,图像缩放举例I=imread(cell.tif);figure(1),imshow(I)title(原始图像)pausefor i=1:3 nI=imresize(I,2*I,nearest);figure(1),imshow(nI)title(strcat(放大了,int2str(2*i

4、),倍)pauseend,2.1 图像的裁剪、缩放与旋转,图像旋转Matlab使用imrotate函数旋转图像。在图像旋转的过程中,也可能涉及插值问题。默认采用最近邻插值法。【例】B=imread(blobs.png);imshow(B)figureimrotate(B,30,bilinear,crop)其中,crop表示旋转时图像底版大小保持不变,但图像可能被切割。若是loose,则图像底版大小可能会发生变化。,2.1 图像的裁剪、缩放与旋转,【例】使用imrotate函数旋转图像,制作动画效果I=imread(blobs.png);for i=1:20 imrotate(I,3*i,loo

5、se);end,2.2 图像的几何变换,图像的几何变换是指图像几何操作后,内部结构比例等发生变化,但整体布局与形状没有改变。本节主要介绍图像的二维空间变换。,2.2 图像的几何变换,图像二维空间变换Matlab使用imtransform函数完成图像二维空间变换。imtransform函数的调用形式为:imtransform(I,T)参数I:要变换的图像参数T:由maketform函数产生的变换结构。根据变换结构的不同,可以实现不同的空间变换。例如:二维仿射变换投影变换,2.2 图像的几何变换,在函数maketform(P,)中,参数P可以是以下形式:affine仿射变换形式projective

6、 投影变换形式custom 自定义函数进行变换box 依靠函数中的另外参数产生仿射变换结构composite该参数实现多次调用tformfwd功能,2.2 图像的几何变换,【例】使用imtransform函数实现图像平面扭曲功能transformtype=affine;%仿射变换transformmatrix=0.5 0 0;0.5 1 0;0 0 1;%仿射变换要求变换矩阵的最后一列除最后一个元素为1之外,%其它的均为0T=maketform(transformtype,transformmatrix);I=imread(cameraman.tif);nI=imtransform(I,T);

7、subplot(1,2,1),imshow(I)subplot(1,2,2),imshow(nI),2.2 图像的几何变换,仿射变换是由一个线性变换接上一个平移组成的。因此,仿射变换的矩阵表达可描述为:,请思考:在上例中,原图像的像素点(x,y)与变换后得到的像素点(x,y)之间的关系是?平移、比例缩放、旋转能否看成是仿射变换的特殊情况?,或用齐次坐标表示为:,2.2 图像的几何变换,两种特殊的仿射变换,平移,旋转,比例缩放,2.2 图像的几何变换,使用imtransform函数实现图像缩放功能transformtype=affine;transformmatrix=0.5 0 0;0 0.5

8、 0;0 0 1;T=maketform(transformtype,transformmatrix);I=imread(cameraman.tif);nI=imtransform(I,T);subplot(1,2,1),imshow(I)subplot(1,2,2),imshow(nI),2.2 图像的几何变换,使用imtransform函数实现图像旋转功能transformtype=affine;transformmatrix=cos(pi/6)sin(pi/6)0;-sin(pi/6)cos(pi/6)0;0 0 1;T=maketform(transformtype,transform

9、matrix);I=imread(cameraman.tif);nI=imtransform(I,T);subplot(1,2,1),imshow(I)subplot(1,2,2),imshow(nI),2.2 图像的几何变换,二维投影变换可以把一幅图像按照近大远小的投影规律投影到一个平面上,从而产生立体的效果。【例】使用imtransform函数实现图像的二维投影变换figure(2)transformtype=projective;%投影变换transformmatrix=1.1581 0 0;-0.4228 0.6066-0.0074;4.2279 4.3566 1.0000;%tran

10、sformmatrix=0.8 0 0;-0.2 0.8-0.003;3.5 1.5 1.5;T=maketform(transformtype,transformmatrix);I=imread(cameraman.tif);nI=imtransform(I,T);subplot(1,2,1),imshow(I)subplot(1,2,2),imshow(nI),2.2 图像的几何变换,投影变换的矩阵表达在进行乘法计算之后,通常齐次元素 wc 并不为 1,所以为了映射回真实平面需要进行齐次除法,即每个元素都除以 wc:实际地,仿射变换可看作是一种特殊的投影变换。它要求变换矩阵的最后一列除最后

11、一个元素为1之外,其它的均为0。,2.3 图像的邻域操作,邻域操作方法充分地利用了图像相邻像素间的颜色、灰度等关系,实现对图像的平滑、增强、边缘提取、滤波和恢复等操作。,2.3.1 邻域操作,【例】对小狮子图像进行邻域操作,使小狮子图像的轮廓变得清晰。I=imread(shizi.bmp);I=double(rgb2gray(I);figure(1),subplot(1,2,1),imshow(I,)m,n=size(I);nI=zeros(m,n)C=-1-1-1;-1 8-1;-1-1-1;for i=2:m-1 for j=2:n-1 L=I(i-1:i+1,j-1:j+1).*C;nI

12、(i,j)=sum(sum(L);end endfigure(1),subplot(1,2,2),imshow(nI,),2.3.1 邻域操作,矩阵C,称为滑动块矩阵、掩膜矩阵或空域滤波器。,在矩阵C上进行滑动的时候,首先从图左上角开始,修改的是原图像的(2,2)元素,修改该元素的方法是:1使用滑动块矩阵C=与(即以原图像的(2,2)元素为中心的3*3邻域矩阵)对应元素相乘,得到了新的3*3矩阵D=2把新得到的矩阵D的所有元素相加,其和作为新图像的(2,2)元素的值。程序中使用的语句为:nI(i,j)=sum(sum(L)。该例子中,新图像的(2,2)元素的值为0。,2.3.1 邻域操作,接着

13、修改的第2个元素是(2,3),然后是(2,4),(2,n-1),但(2,n)没有修改。接着修改第3行(3,2)到(3,n-1)元素,如此下去,最后一行没有修改。从上例可以看出,使用语言编写程序对图像进行邻域操作时,主要是利用多重循环语句实现。值得注意的是,循环结束后,新矩阵nI中会有很多负值,使用imshow函数能够自动对矩阵数据按比例进行调整。程序运行结果如下所示:,2.3.2 Matlab邻域操作函数,Matlab提供了可以实现邻域操作的函数,因此可以直接调用相应的邻域操作函数,完成各种邻域操作功能:nlfiltercolfiltblkproc,2.3.2 Matlab邻域操作函数,nlf

14、ilter函数的一般形式为:nI=nlfilter(I,M N,FUN)其中:I 是被处理的图像,M N表示滑动块的高为M、宽为N。FUN是要对滑动覆盖区域进行操作的函数名,该函数可以是各种滤波算子,可以是任意定义的矩阵。【例】使用nlfilter函数对图像进行均值平滑邻域操作。I=imread(shizi.bmp);I=rgb2gray(I);figure(1),subplot(1,2,1);imshow(I);fun=inline(mean(mean(x);nI=nlfilter(I,3 3,fun);figure(1),subplot(1,2,2);imshow(nI,);,2.3.2

15、Matlab邻域操作函数,inline(mean(mean(x)的含义:根据参数字串mean(mean(x)创建内联函数,以便在后面的程序语句中调用该函数。nlfilter(I,3 3,fun)的含义:使用3行3列大小的滑动块在图像I上滑动,每滑动一次就以滑块遮住的部分作为参数x调用函数fun。由于fun即为上述定义的内联函数,因此新产生的图像nI中除边界外,每个像素都是图像I中某3行3列图像块的均值。函数nfilter在边界处用0填补。,2.3.2 Matlab邻域操作函数,调用函数nlfilter时,如果参数FUN 有参数,则需要使用下面格式:nI=nlfilter(I,M N,FUN,P

16、1,P2,.)其中,P1,P2,.为函数FUN的实参,把值传入函数体中。【例】若已有函数定义:function r=myfun(t,p1,p2)r=mean(mean(t).*p1+p2;则可设计如下程序:I=imread(shizi.bmp);I=rgb2gray(I);figure(1),subplot(1,2,1);imshow(I);fun=myfun;p1=2;p2=1;nI=nlfilter(I,3 3,fun,p1,p2);figure(1),subplot(1,2,2);imshow(nI,);,2.3.2 Matlab邻域操作函数,colfilt函数与nlfilter函数的主

17、要区别有:colfilt函数在处理图像时,先把滑动块遮住的图像块排成一个列向量,处理之后再恢复成图像块。nlfilter函数采取逐像素滑动的方式,colfilt函数在移动的时候可以选择:sliding:逐像素滑动distinct:逐图像块滑动,滑动时图像块互不重叠。,2.3.2 Matlab邻域操作函数,【例】使用colfilt函数进行图像邻域操作(逐像素)若已有函数定义:function r=myfun(x,p1,p2)r=mean(x).*p1+p2;则可设计如下程序:I=imread(shizi.bmp);I=rgb2gray(I);figure(1),subplot(1,2,1),im

18、show(I,);fun=myfun;p1=2;p2=1;nI=colfilt(I,3 3,sliding,fun,p1,p2);figure(1),subplot(1,2,2),imshow(nI,),2.3.2 Matlab邻域操作函数,【例】使用colfilt函数进行图像邻域操作(逐图像块)若已有函数定义:function r=myfun(x,len,p1,p2)r=mean(x)*p1+p2;r=ones(len,1)*r;则可设计如下程序:I=imread(shizi.bmp);I=rgb2gray(I);figure(1),subplot(1,2,1),imshow(I,);fun

19、=myfun;m=3;n=3;len=m*n;p1=2;p2=1;nI=colfilt(I,m n,distinct,fun,len,p1,p2);figure(1),subplot(1,2,2),imshow(nI,),2.3.2 Matlab邻域操作函数,blkproc函数是专门进行分块操作的函数若已有函数定义:function r=myfun(x,m,n,p1,p2)r=mean(mean(x)*p1+p2;r=ones(m,n)*r;则可设计如下程序:I=imread(shizi.bmp);I=rgb2gray(I);figure(1),subplot(1,2,1),imshow(I,

20、);fun=myfun;m=3;n=3;len=m*n;p1=2;p2=1;nI=blkproc(I,m n,fun,m,n,p1,p2);figure(1),subplot(1,2,2),imshow(nI,),2.3.2 Matlab邻域操作函数,image=imread(cameraman.tif);image=im2double(image);T=dctmtx(8);B=blkproc(image,8 8,P1*x*P2,T,T);mask=1 1 1 1 0 0 0 0;1 1 1 0 0 0 0 0;1 1 0 0 0 0 0 0;1 0 0 0 0 0 0 0;0 0 0 0 0

21、 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;B2=blkproc(B,8 8,P1.*x,mask);reconstructedImage=blkproc(B2,8,8,P1*x*P2,T,T);Subplot(1,2,1);Imshow(image);title(原图像);Subplot(1,2,2);Imshow(reconstructedImage);title(压缩图像);,2.4 图像区域选取,块选取函数imcrop函数:矩形区域选取Roipoly函数:可以完成各种多边形块的选取功能,返回结果是一个与输入图像一样大小的

22、二值图像。曲线围成的区域在计算机中没有严格的连续曲线,所有的曲线都是多边形。所以可以用roipoly函数选取近似的曲边区域。,2.4 图像区域选取,I,m=imread(shamo.jpg);I=double(rgb2gray(I);figure(1),subplot(1,2,1),imshow(I,m)C1=110 330 380;C2=120 200 368;BW=roipoly(I,C1,C2);B=double(BW).*256;nI=(I+B);figure(1),subplot(1,2,2),imshow(nI,m),2.4 图像区域选取,I,m=imread(shamo.jpg)

23、;I=double(rgb2gray(I);figure(1),subplot(1,2,1),imshow(I,m)C1=10:pi:180;C2=100+floor(20*sin(C1);BW=roipoly(I,C1,C2);B=double(BW).*256;nI=(I+B);figure(1),subplot(1,2,2),imshow(nI,m),2.5 图像增强,图像增强是对图像进行操作,得到视觉效果更好或者更有用的新图像。狭义上的图像增强就是加强或减弱灰度图像的明暗对比度(将亮度的最大值和最小值之比称为对比度)。广义上的图像增强除了对灰度图像进行增强外,还包括彩色图像增强等。,2

24、.5.1 灰度调整,灰度调整:增加明暗对比度的一种常用方法是灰度调整方法。灰度调整方法是基于灰度直方图的一种图像增强方法。所谓灰度直方图就是灰度图像的灰度值统计图,如下例所示:,2.5.1 灰度调整,【例】统计某幅图像的灰度信息,即计算图像中0-255种灰度级各自的像素点个数。I=imread(pout.tif);figure(1),subplot(1,2,1),imshow(I)nI=floor(double(I);m,n=size(nI);H=zeros(256);for i=1:m for j=1:n k=nI(i,j);H(k+1)=H(k+1)+1;endendfigure(1),s

25、ubplot(1,2,2),bar(H),2.5.1 灰度调整,【例】按线性灰度变换规则,增强图像的明暗对比度。I=imread(pout.tif);I=double(I);a=90;b=120;na=0;nb=255;k=(nb-na)./(b-a);nI=na+k.*(I-a);nI=round(nI);m,n=size(I);for i=1:m for j=1:n if nI(i,j)nb nI(i,j)=nb;end endendsubplot(1,2,1),imshow(I,)subplot(1,2,2),imshow(nI,),2.5.1 灰度调整,2.5.1 灰度调整,2.5.1

26、 灰度调整,2.5.1 灰度调整,2.5.2 灰度调整函数,在Matlab中,与灰度调整相关的函数主要有:imadjust用于将图像的灰度值调整到指定的范围。stretchlim用来计算灰度图像的最佳输入区间的。所谓最佳就是按照该区间输入,图像灰度的对比度最大。histeq用于自动完成图像灰度调整,使得调整后图像的灰度直方图趋于均衡化。brighten用来改变显示灰度图像时的亮度,但并不改变原始图像自身的灰度。,2.5.2 灰度调整函数,imadjust函数的一般调用格式为:nI=imadjust(I,low_in high_in,low_out high_out,gamma)其中:low_i

27、n high_in:用来限制输入范围,且取值范围落在0,1区间。例如,若low_in=0.2,则表示最小的输入灰度值为255*0.2。low_out high_out:用来限制输出范围,且取值范围落在0,1区间gamma:用来说明是否指数变换时的指数值。缺省时,gamma=1,表示线性变换,2.5.2 灰度调整函数,【例】使用imadjust函数对图像进行灰度调整I=imread(pout.tif);a=90;b=120;na=0;nb=255;nI=imadjust(I,a/255 b/255,na/255,nb/255);figure(2),subplot(1,2,1),imshow(I,

28、)figure(2),subplot(1,2,2),imshow(nI,),尝试给参数gamma传递一个大于1以及小于1的值,观察结果。,2.5.2 灰度调整函数,【例】使用函数imadjust对RGB彩色图像进行颜色调整。I=imread(peppers.png);nI=imadjust(I,.2.3 0;.6.7 1);figure(1),subplot(1,2,1),imshow(I)figure(1),subplot(1,2,2),imshow(nI),2.5.2 灰度调整函数,stretchlim函数的一般调用格式为:LOW_HIGH=stretchlim(I,TOL)LOW_HIG

29、H=stretchlim(I,TOL)returns a pair of intensities that can be used by imadjust to increase the contrast of an image.其中:TOL=LOW_FRACT HIGH_FRACT:用于说明在低灰度以及高灰度时的饱和度。饱和度可认为是某色调的纯色掺入白色光的比例如果TOL是个常量,则TOL=LOW_FRACT,同时 HIGH_FRACT=1-LOW_FRACT,表明在低灰度以及高灰度时的饱和度相同.如果省略TOL,则默认TOL=0.01 0.99,饱和度为2%.如果 TOL=0,则LOW_H

30、IGH=min(I(:)max(I(:).,2.5.2 灰度调整函数,【例】I=imread(pout.tif);nI=imadjust(I,stretchlim(I),);figure(1),subplot(1,2,1),imshow(I,)figure(1),subplot(1,2,2),imshow(nI,)【例】I=imread(peppers.png);nI=imadjust(I,stretchlim(I);figure(1),subplot(1,2,1),imshow(I)figure(1),subplot(1,2,2),imshow(nI),2.5.2 灰度调整函数,histeq

31、用于自动完成图像灰度调整,使得调整后图像的灰度直方图趋于均衡化。I=imread(pout.tif);figure(1),subplot(1,2,1),imshow(I);figure(1),subplot(1,2,2),imhist(I);nI=histeq(I);figure(2),subplot(1,2,1),imshow(nI);figure(2),subplot(1,2,2),imhist(nI);,2.5.2 灰度调整函数,brighten用来改变显示灰度图像时的亮度,但并不改变原始图像自身的灰度。它的一般调用格式为:brighten(beta)【例】I=imread(tire.t

32、if);figure(1),imshow(I);figure(2),imshow(I);brighten(0.75);%函数brighten通常放在imshow之后,请思考为什么。,2.6 图像滤波,滤波是一种应用广泛的图像处理技术,可以通过滤波来强调或删除图像的某些特征。滤波是一种邻域操作,即处理后的图像每个象素值是原来该象素周围的颜色值经过某种计算得到的。2.3节介绍的图像邻域操作就是一种图像滤波。本节进一步地介绍和分析滤波技术。滤波函数imfilter滤波器的定义,2.6.1 图像滤波函数,函数imfilter是Matlab中使用较多的滤波函数,基本调用格式为:nI=imfilter(I

33、,H,OPTION)其中:I为要进行滤波的图像矩阵,可以为多维的彩色图像矩阵(数组);H是已经定义的滤波算子。imfilter函数本身也是基于邻域滑动设计实现的,所以也涉及到边界如何填补的问题。如果调用时省略OPTION参数,则默认以0填补边界。参数OPTION可以选择边界填补参数:replicate:将边界内的值复制到边界处。symmetric:将边界内的值通过镜像对称反射方法填补到边界处。circular:把图像看成是一个二维周期函数来实现边界的填补。,2.6.1 图像滤波函数,【例】I=imread(football.jpg);h=ones(3,3)/9;%均值滤波nI1=imfilte

34、r(I,h);nI2=imfilter(I,h,replicate);nI3=imfilter(I,h,symmetric);nI4=imfilter(I,h,circular);figure(1),imshow(I),title(Original)figure(2),imshow(nI1),title(Boundary Default)figure(3),imshow(nI2),title(Boundary Replication)figure(4),imshow(nI3),title(Boundary Symmetric)figure(5),imshow(nI4),title(Bounda

35、ry Circular),2.6.1 图像滤波函数,与nlfilter不同的是,imfilter函数不需要定义操作函数。被滑动块(或称滤波器)遮盖的图像块与滑动块之间进行何种操作,取决于参数OPTION:corr:相关运算。缺省时,默认为corr。滤波后,某像素点的值通常是某图像块与滑动块(或称滤波器)的对应元素相乘之后再取总和。conv:卷积运算滤波后,某像素点的值通常是某图像块与滑动块(或称滤波器)的首尾呼应的元素相乘之后再取总和得到。,2.6.1 图像滤波函数,【例】验证corr假定已有函数定义:function r=myfun(t,h)r=sum(sum(t.*h);则可验证nI1=n

36、I2I=floor(256*randn(8,8);fun=myfun;h=randn(3,3);nI1=nlfilter(I,3 3,fun,h);nI1=floor(nI1);nI2=imfilter(I,h);nI2=floor(nI2);sum(sum(nI1-nI2),2.6.1 图像滤波函数,【例】验证conv假定已有函数定义:function r=myfun(t,h)t=t(:);h=h(:);len=length(h);v=zeros(len,1);for i=1:len v(i)=t(i).*h(len-i+1);end r=sum(v);则可验证nI1=nI2I=floor(

37、256*randn(8,8);fun=myfun;h=randn(3,3);nI1=nlfilter(I,3 3,fun,h);nI1=floor(nI1);nI2=imfilter(I,h,conv);nI2=floor(nI2);sum(sum(nI1-nI2),2.6.1 图像滤波函数,【例】滤波算子不同,滤波后的效果会有很大的不同。I=rgb2gray(imread(003.bmp);h1=0 0 0.0000 0.0021 0.0042 0.1958 0.1979 0.2000 0.1979 0.1958 0.0042 0.0021 0.0000 0 0;h2=1 0-1 2 0-2

38、 1 0-1;h3=0.1667 0.6667 0.1667 0.6667-3.3333 0.6667 0.1667 0.6667 0.1667;I1=imfilter(I,h1);I2=imfilter(I,h2);I3=imfilter(I,h3);subplot(2,2,1),imshow(I),title(原图像)subplot(2,2,2),imshow(I1),title(运动滤波)subplot(2,2,3),imshow(I2),title(水平边缘增强)subplot(2,2,4),imshow(I3),title(拉普拉斯滤波),2.6.2 滤波器的定义,可以利用Matla

39、b提供的fspecial函数产生相应的线性滤波算子。函数fspecial的一般调用格式为:fspecial(T,P)其中:参数P为辅助说明参数参数T的取值可以为:average 均值滤波器disk 圆形均值滤波器 motion 运动滤波器gaussian 高斯低通滤波器 laplacian 二维拉普拉斯滤波器 log 高斯拉普拉斯滤波器prewitt Prewitt水平边缘增强滤波器 sobel Sobel水平边缘增强滤波器,滤波器的设计,可以根据不断的实验探索也可以根据数学原理产生。,2.6.2 滤波器的定义,如果对邻域内像素的计算为线性运算,那么对应的滤波操作则称为线性滤波。函数imfil

40、ter是一个线性滤波函数。它采用的滤波器也常被称为线性滤波器,或线性滤波算子。非线性滤波也是基于邻域操作的,但是不象线性滤波那样,滤波器与对应元素相乘然后相加。非线性滤波不再用线性组合的方法得到新的元素,使用的是可能统计的方法或非线性组合的方法。【例】排序取中值操作就是一种非线性滤波操作fun=inline(median(x(:);B=nlfilter(A1,3 3,fun);,2.6.2 滤波器的定义,Matlab提供了函数medfilt2()专门进行二维中值滤波。【例】使用函数medfilt2进行二维中值滤波。I=imread(005.bmp);I=255*double(I);nI=medfilt2(I);figure(1),subplot(1,2,1),imshow(I,)figure(1),subplot(1,2,2),imshow(nI,),2.6.2 滤波器的定义,思考题,课后习题选取编程题做上机练习,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号