matlab图像处理函数总汇.docx

上传人:b****4 文档编号:3963443 上传时间:2023-05-06 格式:DOCX 页数:27 大小:57.13KB
下载 相关 举报
matlab图像处理函数总汇.docx_第1页
第1页 / 共27页
matlab图像处理函数总汇.docx_第2页
第2页 / 共27页
matlab图像处理函数总汇.docx_第3页
第3页 / 共27页
matlab图像处理函数总汇.docx_第4页
第4页 / 共27页
matlab图像处理函数总汇.docx_第5页
第5页 / 共27页
matlab图像处理函数总汇.docx_第6页
第6页 / 共27页
matlab图像处理函数总汇.docx_第7页
第7页 / 共27页
matlab图像处理函数总汇.docx_第8页
第8页 / 共27页
matlab图像处理函数总汇.docx_第9页
第9页 / 共27页
matlab图像处理函数总汇.docx_第10页
第10页 / 共27页
matlab图像处理函数总汇.docx_第11页
第11页 / 共27页
matlab图像处理函数总汇.docx_第12页
第12页 / 共27页
matlab图像处理函数总汇.docx_第13页
第13页 / 共27页
matlab图像处理函数总汇.docx_第14页
第14页 / 共27页
matlab图像处理函数总汇.docx_第15页
第15页 / 共27页
matlab图像处理函数总汇.docx_第16页
第16页 / 共27页
matlab图像处理函数总汇.docx_第17页
第17页 / 共27页
matlab图像处理函数总汇.docx_第18页
第18页 / 共27页
matlab图像处理函数总汇.docx_第19页
第19页 / 共27页
matlab图像处理函数总汇.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

matlab图像处理函数总汇.docx

《matlab图像处理函数总汇.docx》由会员分享,可在线阅读,更多相关《matlab图像处理函数总汇.docx(27页珍藏版)》请在冰点文库上搜索。

matlab图像处理函数总汇.docx

matlab图像处理函数总汇

图像处理函数详解——bwareaopen

功能:

用于从对象中移除小对象。

用法:

BW2=bwareaopen(BW,P)

BW2=bwareaopen(BW,P,CONN)

BW2=bwareaopen(BW,P,CONN)从二值图像中移除所有小于P的连通对象。

CONN对应邻域方法,默认为8。

例子:

originalBW=imread('text.png');

imview(originalBW)

bwAreaOpenBW=bwareaopen(originalBW,50);

imview(bwAreaOpenBW)

图像处理函数详解——bwlabel

功能:

对连通对象进行标注,bwlabel主要对二维二值图像中各个分离部分进行标注(多维用bwlabeln,用法类似)。

用法:

L=bwlabel(BW,n)

[L,num]=bwlabel(BW,n)

L=bwlabel(BW,n)表示返回和BW相同大小的数组L。

L中包含了连通对象的标注。

参数n为4或8,分别对应4邻域和8邻域,默认值为8。

[L,num]=bwlabel(BW,n)返回连通数num。

图像处理函数详解——bwperim

功能:

查找二值图像的边缘。

用法:

BW2=bwperim(BW1)

BW2=bwperim(BW1,conn)

BW2=bwperim(BW1,conn)表示从输入图像BW1中返回只包括对象边缘像素点的图像。

conn的定义值如下:

维数

参数值

说明

对二维

4

4邻域

8

8邻域

对三维

6

6邻域

18

18邻域

26

26邻域

例子:

BW1=imread('circbw.tif');

BW2=bwperim(BW1,8);

imshow(BW1)

figure,imshow(BW2)

图像处理函数详解——colfilt

功能:

以列方法进行邻域处理,也可执行常规非线性滤波(自己理解的)。

用法:

B=colfilt(A,[mn],block_type,fun)

   该函数生成了一幅图像A,在A中,每一列对应于其中心位于图像内某个位置的邻域所包围的像素。

然后将函数应用于该矩阵中。

[mn]表示大小为m行n列的邻域。

block_type表示了一个字符串,包括'distinct','sliding'两种,其中'sliding'是在输入图像中逐个像素地滑动该m乘n的区域。

fun表示引用了一个函数进行处理,函数返回值的大小必须和原图像大小相同。

举例:

I=imread('tire.tif');

        imshow(I)

        I2=uint8(colfilt(I,[55],'sliding',@mean));

        figure,imshow(I2)

图像处理函数详解——dither

功能:

可以把真彩色图像装换成索引图像或者把灰度图像转换为二值图像。

用法:

X=dither(RGB,map)

BW=dither(I)

X=dither(RGB,map,Qm,Qe)

X=dither(RGB,map)表示把真彩色图像RGB按指定的色图map抖动成索引图像X,但map不能超过65536种颜色。

BW=dither(I)

表示把灰度图像I抖动成二值图像BW

X=dither(RGB,map,Qm,Qe)Qm表示沿每个颜色轴反转颜色图的量化的位数,Qe表示颜色空间计算误差的量化位数。

如果Qe<Qm,则不进行抖动操作。

默认值Qe=5,Qm=8

例子:

I=imread('cameraman.tif');

BW=dither(I);

imview(BW)

图像处理函数详解——conv2

功能:

是二维卷积运算函数(与convmtx2相似)。

如果a和b是两个离散变量n1和n2的函数,则关于a和b的二维卷积运算数学公式如下:

用法:

C=conv2(A,B)

C=conv2(hcol,hrow,A)

C=conv2(...,'shape')

C=conv2(A,B)计算数组A和B的卷积。

如果一个数组描述了一个二维FIR滤波器,则另一个数组被二维滤波。

当A的大小为[ma,na],B的大小为[mb,nb]时,C的大小为[ma+mb-1,mb+nb-1]。

‘shape’见下表

参数值

含义

‘full’

默认值,返回全部二维卷积值。

‘same’

返回与A大小相同卷积值的中间部分

‘valid’

当all(size(A)>=size(B)),C的大小为[ma+mb-1,mb+nb-1];否则,C返回[]。

在n维卷积运算中,C的大小为max(size(A)-size(B)+1,0)

例子:

s=[121;000;-1-2-1];

A=zeros(10);

A(3:

7,3:

7)=ones(5);

H=conv2(A,s);

mesh(H)

图像处理函数详解——histeq

功能:

直方图均衡化。

用法:

    J=histeq(I,hgram)  将原始图像I的直方图变成用户指定的向量hgram。

hgram中的各元素的值域为[0,1]。

    J=histeq(I,n)  指定直方图均衡后的灰度级数n,默认值为64。

    [J,T]=histeq(I,...)  返回从能将图像I的灰度直方图变换成图像J的直方图变换T。

    newmap=histeq(X,map,hgram)

    newmap=histeq(X,map)

    [newmap,T]=histeq(X,...)  

    这三个是针对索引图像调色板的直方图均衡化,用法和灰度图像的一样。

举例:

    I=imread('tire.tif');

    J=histeq(I);

    imshow(I)

    figure,imshow(J)

图像处理函数详解——im2bw

功能:

通过设定亮度将阈值灰度、真彩、索引图像转换为二值图像。

用法:

BW=im2bw(I,level)

BW=im2bw(X,map,level)

BW=im2bw(RGB,level)

分别将灰度图像、索引图像、真彩色图像转换为二值图像。

Level是归一化的阈值,值域为[0,1]。

Level可以由函数graythresh(I)来计算。

例子:

loadtrees

BW=im2bw(X,map,0.4);

imview(X,map),imview(BW)

图像处理函数详解——im2uint8

功能:

将图像转换为8位无符号整型。

也可将输出值限定在[0255]内。

用法:

I2=im2uint8(I)

        RGB2=im2uint8(RGB)

        I=im2uint8(BW)

        X2=im2uint8(X,'indexed')

举例:

I=reshape(uint8(linspace(0,255,255)),[55])

        I2=im2uint8(I)

图像处理函数详解——imadd

功能:

实现图像相加运算。

用法:

Z=imadd(X,Y)

例子:

I=imread('rice.png');

J=imread('cameraman.tif');

K=imadd(I,J,'uint16');

%转换数据类型,然后将图像相加

imshow(K,[])

图像处理函数详解——imadjust

功能:

调节灰度图像的亮度或彩色图像的颜色矩阵。

用法:

    J=imadjust(I,[low_in;high_in],[low_out;high_out],gamma)

    将图像I中的亮度值映射到J中的新值,即将low_in至hige_in之间的值映射到low_out至high_out之间的值。

low_in以下与high_in以上的值被剪切掉了,也就是说,low_in以下的值映射到low_out,high_in以上的值映射到high_out。

它们都可以使用空的矩阵[],默认值是[01]。

    newmap=imadjust(map,[low_inhigh_in],[low_outhigh_out],gamma)

    调整索引色图像的调色板map。

    RGB2=imadjust(RGB1,[low_inhigh_in],[low_outhigh_out],gamma)

    对RGB图像1的红、绿、蓝调色板分别进行调整。

随着颜色矩阵的调整,每一个调色板都有唯一的映射值。

    参数gamma指定了曲线的形状,该曲线用来映射I的亮度值。

如果gamma小于1,映射被加权到更高的输出值。

如果gamma大于1,映射被加权到更低的输出值。

如果省略了函数的参量,则gamma默认为1(线性映射)。

举例:

    调整灰度图像:

K=imadjust(I,[0.30.7],[]);

                      figure,imshow(K)

    调整RGB图像:

RGB1=imread('football.jpg');

                      RGB2=imadjust(RGB1,[.2.30;.6.71],[]);

                      imshow(RGB1),figure,imshow(RGB2)

图像处理函数详解——imapprox

功能:

减少索引图像的色彩数,能够指定新色图的色彩数。

即对索引图像进行近似处理。

用法:

[Y,newmap]=imapprox(X,map,n)

[Y,newmap]=imapprox(X,map,tol)

Y=imapprox(X,map,newmap)

[...]=imapprox(...,dither_option)

[Y,newmap]=imapprox(X,map,n)表示把索引图像和色图map进行最小值量化逼近。

函数返回索引图像和新的色图newmap,色图至多有n种色彩。

[Y,newmap]=imapprox(X,map,tol)表示把索引图像和色图map进行均衡量化逼近。

新色图newmap至多有(floor(1/tol)+1)^3种色彩,tol的范围必须为[0,1.0]。

例子:

[X,map]=imread('trees.tif');

[Y,newmap]=imapprox(X,map,16);

imview(Y,newmap)

图像处理函数详解——imcomplement

功能:

对图像进行求反运算。

用法:

IM2=imcomplement(IM)

      计算图像IM的负片。

图像IM可以是二值图像、灰度图像、或者RGB图像。

IM2和IM类型相同。

例子:

      X=uint8([2551075;44225100]);

      X2=imcomplement(X)

      X2=

          0  245  180

        211  30  155

      bw=imread('text.png');

      bw2=imcomplement(bw);

      subplot(1,2,1),imshow(bw)

      subplot(1,2,2),imshow(bw2)

      I=imread('glass.png');

      J=imcomplement(I);

      imshow(I),figure,imshow(J)

图像处理函数详解——imfinfo

功能:

获取图像文件的信息

用法:

info=imfinfo(filename,fmt)

        info=imfinfo(filename)

参数fmt对应于图像处理工具箱中所有支持的图像文件格式(如'bmp','jpg'等等)

例子:

info=imfinfo('canoe.tif')

info=

              Filename:

'canoe.tif'

            FileModDate:

'25-Oct-199622:

10:

39'

              FileSize:

69708

                Format:

'tif'

          FormatVersion:

[]

                Width:

346

                Height:

207

              BitDepth:

8

              ColorType:

'indexed'

          FormatSignature:

[7373420]

              ByteOrder:

'little-endian'

          NewSubfileType:

0

          BitsPerSample:

8

            Compression:

'PackBits'

  PhotometricInterpretation:

'RGBPalette'

            StripOffsets:

[9x1  double]

          SamplesPerPixel:

1

            RowsPerStrip:

23

          StripByteCounts:

[9x1  double]

            XResolution:

72

            YResolution:

72

          ResolutionUnit:

'Inch'

              Colormap:

[256x3  double]

      PlanarConfiguration:

'Chunky'

              TileWidth:

[]

            TileLength:

[]

            TileOffsets:

[]

          TileByteCounts:

[]

            Orientation:

1

              FillOrder:

1

        GrayResponseUnit:

0.0100

          MaxSampleValue:

255

          MinSampleValue:

0

            Thresholding:

1

图像处理函数详解——imhist

功能:

显示图像的直方图。

        输入数据类型可以是无符号8位、16位、有符号16位、单精浮点、字符型、逻辑型等数据。

用法:

      imhist(I,n)  计算和显示图像I的直方图,n为指定的灰度级数目,默认为256。

如果I是二值图像,那么n仅有两个值。

      imhist(X,map)  计算和显示索引图像x的直方图,map为调色板。

      [counts,x]=imhist(...)  返回直方图数据向量counts或相应的色彩值向量x。

举例:

      I=imread('rice.tif')

      imshow(I)

      figure,imhist(I)

图像处理函数详解——imnoise

功能:

模仿噪声信息,相当于图像的相加运算。

用法:

J=imnoise(I,type)

J=imnoise(I,type,parameters)

参数Type对应的噪声类型如下:

'gaussian'高斯白噪声

'localvar'0均值白噪声

'poisson'泊松噪声

'salt&pepper'盐椒噪声

'speckle'乘性噪声

例子:

I=imread('eight.tif');

J=imnoise(I,'salt&pepper',0.02);

%密度0.02的盐椒噪声

imshow(I)

figure,imshow(J)

图像处理函数详解——imresize

功能:

改变图像的大小。

用法:

B=imresize(A,m)

B=imresize(A,m,method)

B=imresize(A,[mrowsncols],method)

B=imresize(...,method,n)

B=imresize(...,method,h)

imrersize函数使用由参数method指定的插值运算来改变图像的大小。

method的几种可选值:

'nearest'(默认值)最近邻插值

'bilinear'双线性插值

'bicubic'双三次插值

B=imresize(A,m)表示把图像A放大m倍

B=imresize(...,method,h)中的h可以是任意一个FIR滤波器(h通常由函数ftrans2、fwind1、fwind2、或fsamp2等生成的二维FIR滤波器)。

例子:

I=imread('circuit.tif');

J=imresize(I,1.25);

%使用默认的最近邻插值法放大图像1.25倍

imshow(I)

figure,imshow(J)

图像处理函数详解——imdilate

功能:

对图像实现膨胀操作。

用法:

IM2=imdilate(IM,SE)

IM2=imdilate(IM,NHOOD)

IM2=imdilate(IM,SE,PACKOPT)

IM2=imdilate(...,PADOPT)

IM2=imdilate(IM,SE)膨胀灰度,二值,压缩二值图像IM,返回IM2。

参数SE为由strel函数返回的结构元素或者结构元素对象组。

IM2=imdilate(IM,NHOOD)膨胀图像IM,这里NHOOD是定义结构元素邻域0和1的矩阵。

IM2=imdilate(IM,SE,PACKOPT)定义IM是否是一个压缩的二值图像。

IM2=imdilate(...,PADOPT)指出输出图像的大小。

例子:

I=imread('cameraman.tif');

se=strel('ball',5,5);

I2=imdilate(I,se);

imshow(I),title('Original')

figure,imshow(I2),title('Dilated'

图像处理函数详解——imerode

功能:

对图像实现腐蚀操作,即膨胀操作的反操作。

用法:

IM2=imerode(IM,SE)

IM2=imerode(IM,NHOOD)

IM2=imerode(IM,SE,PACKOPT,M)

IM2=imerode(...,PADOPT)

IM2=imerode(IM,SE)腐蚀灰度,二值,压缩二值图像IM,返回IM2。

参数SE为由strel函数返回的结构元素或者结构元素对象组。

IM2=imerode(IM,NHOOD)腐蚀图像IM,这里NHOOD是定义结构元素邻域0和1的矩阵。

IM2=imerode(...,PADOPT)指出输出图像的大小(是否与输入图像大小一致)。

例子:

originalBW=imread('circles.png');

se=strel('disk',11);

erodedBW=imerode(originalBW,se);

imview(originalBW),imview(erodedBW)

图像处理函数详解——imopen

功能:

对图像实现开运算,开运算一般能平滑图像的轮廓,消弱狭窄的部分,去掉细的突出。

用法:

IM2=imopen(IM,SE)

IM2=imopen(IM,NHOOD)

IM2=imopen(IM,SE)用结构元素SE实现灰度图像或二值图像的IM的形态开运算。

SE可以是单个结构元素对象或者结构元素对象数组。

IM2=imopen(IM,NHOOD)用结构元素strel(NHOOD)执行开运算。

例子:

I=imread('snowflakes.png');

se=strel('disk',5);

I_opened=imopen(I,se);

imview(I_opened,[])

图像处理函数详解——imclose

功能:

对图像实现闭运算,闭运算也能平滑图像的轮廓,但与开运算相反,它一般融合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙。

用法:

IM2=imclose(IM,SE)

IM2=imclose(IM,NHOOD)

用法和imopen相同,请在本论坛查找!

例子:

originalBW=imread('circles.png');

se=strel('disk',10);

closeBW=imclose(originalBW,se);

imview(closeBW)

图像处理函数详解——mat2gray

功能:

将矩阵转化为灰度图像。

用法:

I=mat2gray(A,[aminamax])      把一个double类的任意数组转换成取值范围为[01]的亮度图像。

其中图像I的取值范围也在0(黑色)到1(白色)之间。

参数amin和amax表示将A中小于amin的值转换为0,将A中大于amax的值转换为1。

        I=mat2gray(A)    将矩阵A中实际最小值和最大值分别赋给amin和amax。

举例:

I=imread('rice.png');

        J=filter2(fspecial('sobel'),I);

        K=mat2gray(J);

        imshow(I),figure,imshow(K)

图像处理函数详解——montage

功能:

在同一时间显示多帧

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2