matlab 图像处理 函数
MATLAB图像处理函数大全
Matlab图像处理函数大全目录图像增强 (3)1. 直方图均衡化的Matlab 实现 (3)1.1 imhist 函数 (3)1.2 imcontour 函数 (3)1.3 imadjust 函数 (3)1.4 histeq 函数 (4)2. 噪声及其噪声的Matlab 实现 (4)3. 图像滤波的Matlab 实现 (4)3.1 conv2 函数 (4)3.2 conv 函数 (5)3.3 filter2函数 (5)3.4 fspecial 函数 (6)4. 彩色增强的Matlab 实现 (6)4.1 imfilter函数 (6)图像的变换 (6)1. 离散傅立叶变换的Matlab 实现 (6)2. 离散余弦变换的Matlab 实现 (7)2.1. dct2 函数 (7)2.2. dict2 函数 (8)2.3. dctmtx函数 (8)3. 图像小波变换的Matlab 实现 (8)3.1 一维小波变换的Matlab 实现 (8)3.2 二维小波变换的Matlab 实现 (9)图像处理工具箱 (11)1. 图像和图像数据 (11)2. 图像处理工具箱所支持的图像类型 (12)2.1 真彩色图像 (12)2.2 索引色图像 (13)2.3 灰度图像 (14)2.4 二值图像 (14)2.5 图像序列 (14)3. MATLAB图像类型转换 (14)4. 图像文件的读写和查询 (15)4.1 图形图像文件的读取 (15)4.2 图形图像文件的写入 (16)4.3 图形图像文件信息的查询imfinfo()函数 (16)5. 图像文件的显示 (16)5.1 索引图像及其显示 (16)5.2 灰度图像及其显示 (16)5.3 RGB 图像及其显示 (17)5.4 二进制图像及其显示 (17)5.5 直接从磁盘显示图像 (18)图像处理函数 (18)图像处理函数详解——strel (18)图像处理函数详解——roipoly (19)图像处理函数详解——roifilt2 (20)图像处理函数详解——roifill (20)图像处理函数详解——roicolor (21)matlab图像处理函数详解——rgb2gray (22)Matlab图像处理函数:regionprops (22)图像处理函数详解——padarray (26)图像处理函数详解——nlfilter (27)图像处理函数详解——montage (27)函数详解——mat2gray (28)图像处理函数详解——imclose (29)图像处理函数详解——imopen (29)图像处理函数详解——imerode (30)图像处理函数详解——imdilate (30)图像处理函数详解——imresize (31)图像处理函数详解——imnoise (32)图像处理函数详解——imhist (32)图像处理函数详解——imfinfo (33)图像处理函数详解——imcomplement (34)图像处理函数详解——imapprox (35)图像处理函数详解——imadjust (35)图像处理函数详解——imadd (36)图像处理函数详解——im2uint8 (36)图像处理函数详解——im2bw (37)图像处理函数详解——histeq (37)图像处理函数详解——dither (38)图像处理函数详解——conv2 (38)图像处理函数详解——colfilt (39)图像处理函数详解——bwperim (39)图像处理函数详解——bwlabel (40)图像处理函数详解——bwareaopen (41)图像增强1. 直方图均衡化的Matlab 实现1.1 imhist 函数功能:计算和显示图像的色彩直方图格式:imhist(I,n)imhist(X,map)说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省值为256;imhist(X,map) 就算和显示索引色图像 X 的直方图,map 为调色板。
matlab bw函数
matlab bw函数Matlab是一种强大的科学计算软件,广泛应用于工程、科学和数学领域。
其中,bw函数是Matlab图像处理工具箱中的一个常用函数,用于将图像转化为二值图像。
本文将介绍bw函数的基本用法和原理,并通过实例演示其应用。
bw函数是Matlab中的一个二值化函数,其作用是将输入图像中的像素值转化为二值(0或1)。
具体而言,bw函数会将图像中的像素值根据一个阈值进行分割,小于阈值的像素被设为0,大于等于阈值的像素被设为1。
通过调整阈值的大小,可以实现对图像的二值化处理。
bw函数的基本语法如下:BW = bw(I, level)其中,I表示输入图像,level表示阈值。
函数执行后,将返回一个与输入图像大小相同的二值图像BW。
下面通过一个具体的实例来演示bw函数的应用。
假设我们有一张灰度图像,我们希望将其转化为二值图像。
首先,我们可以使用imread函数读取图像,并使用imshow函数显示原始图像。
代码如下:```matlabI = imread('image.jpg');imshow(I);```接下来,我们可以使用im2gray函数将图像转化为灰度图像。
然后,我们可以使用bw函数将灰度图像转化为二值图像。
代码如下:```matlabI_gray = rgb2gray(I);BW = bw(I_gray, 0.5);```在上述代码中,我们首先将原始图像转化为灰度图像,然后使用bw 函数将灰度图像转化为二值图像。
其中,阈值设置为0.5,表示将灰度图像中的像素值大于等于0.5的像素设为1,小于0.5的像素设为0。
我们可以使用imshow函数显示二值图像。
代码如下:```matlabimshow(BW);```通过上述代码,我们可以将原始图像转化为二值图像,并进行显示。
通过调整阈值的大小,我们可以控制二值图像的清晰度和分割效果。
除了基本的二值化功能,bw函数还提供了其他一些参数和选项,用于进一步控制二值化过程。
matlab图像处理之image和imagesc函数
matlab图像处理之image和imagesc函数imshow主要⽤于调⽤图像索引,⽐如:imshow(X,map)其功能等同于:image(X) colormap(map)但是,imshow的功能要强⼤⼀些,⽐如⽤于灰度图像,RGB图像,⼆进制图像,都可以应⽤。
imagesc属于图像缩放函数具体说⼀些例⼦:要显⽰⼀副灰度图像,可以调⽤函数 imshow 或 imagesc (即imagescale,图像缩放函数)(1) imshow 函数显⽰灰度图像使⽤ imshow(I) 或使⽤明确指定的灰度级书⽬:imshow(I,32)由于Matlab⾃动对灰度图像进⾏标度以适合调⾊板的范围,因⽽可以使⽤⾃定义⼤⼩的调⾊板。
其调⽤格式如下:imshow(I,[low,high])其中,low 和 high 分别为数据数组的最⼩值和最⼤值。
(2) imagesc 函数显⽰灰度图像下⾯的代码是具有两个输⼊参数的 imagesc 函数显⽰⼀副灰度图像imagesc(1,[0,1]);colormap(gray);imagesc 函数中的第⼆个参数确定灰度范围。
灰度范围中的第⼀个值(通常是0),对应于颜⾊映象表中的第⼀个值(颜⾊),第⼆个值(通常是1)则对应与颜⾊映象表中的最后⼀个值(颜⾊)。
灰度范围中间的值则线型对应与颜⾊映象表中剩余的值(颜⾊)。
在调⽤ imagesc 函数时,若只使⽤⼀个参数,可以⽤任意灰度范围显⽰图像。
在该调⽤⽅式下,数据矩阵中的最⼩值对应于颜⾊映象表中的第⼀个颜⾊值,数据矩阵中的最⼤值对应于颜⾊映象表中的最后⼀个颜⾊值。
5.3 RGB 图像及其显⽰(1) image(RGB)不管RGB图像的类型是double浮点型,还是 uint8 或 uint16 ⽆符号整数型,Matlab都能通过 image 函数将其正确显⽰出来。
RGB8 = uint8(round(RGB64×255)); %将 double 浮点型转换为 uint8 ⽆符号整型RGB64 = double(RGB8)/255; %将 uint8 ⽆符号整型转换为 double 浮点型RGB16 = uint16(round(RGB64×65535)); %将 double 浮点型转换为 uint16 ⽆符号整型RGB64 = double(RGB16)/65535; %将 uint16 ⽆符号整型转换为 double 浮点型(2) imshow(RGB) 参数是⼀个 m×n×3 的数组5.4 ⼆进制图像及其显⽰(1) imshow(BW)在 Matlab 7.0 中,⼆进制图像是⼀个逻辑类,仅包括 0 和 1 两个数值。
Matlab图形图像处理函数中文介绍
功能:
在二进制图像中利用
lookup表进行边沿操作。
语法:
A = applylut(BW,lut)
举例
lut = makelut('sum(x(:)) == 4',2);
BW1 = imread('text.tif');
BW2 = applylut(BW1,lut);
1 0 0 0 1 1 1 0]
BW2 = bwfill(BW1,3,3,8)
BW2 =
1 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0
1 1 1 1 1 0 1 0
1 1 1 1 1 1 1 0
1 1 1 1 0 1 1 1
1 0 0 1 1 0 1 0
B = colfilt(A,[m n],[mblock nblock],block_type,fun,...)
B = colfilt(A,'indexed',...)
附录 MATLAB图像处理命令
相关命令:
blkproc, col2im, im2col, nlfilter
newmap = brighten(map,beta)
brighten(fig,beta)
相关命令:
imadjust, rgbplot
5.bwarea
功能:
计算二进制图像对象的面积。
语法:
total = bwarea(BW)
举例
BW = imread('circles.tif');
[Y,newmap] = cmpermute(X,map,index);
MATLAB图像处理函数大全
Matlab数字数字图像处理函数汇总:1、数字数字图像的变换①fft2:fft2函数用于数字数字图像的二维傅立叶变换,如:i=imread('104_8.tif'); j=fft2(i);②ifft2::ifft2函数用于数字数字图像的二维傅立叶反变换,如:i=imread('104_8.tif');j=fft2(i);k=ifft2(j);2、模拟噪声生成函数和预定义滤波器①imnoise:用于对数字数字图像生成模拟噪声,如:i=imread('104_8.tif');j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声②fspecial:用于产生预定义滤波器,如:h=fspecial('sobel');%sobel水平边缘增强滤波器h=fspecial('gaussian');%高斯低通滤波器h=fspecial('laplacian');%拉普拉斯滤波器h=fspecial('log');%高斯拉普拉斯(LoG)滤波器h=fspecial('average');%均值滤波器2、数字数字图像的增强①直方图:imhist函数用于数字数字图像的直方图显示,如:i=imread('104_8.tif');imhist(i);②直方图均化:histeq函数用于数字数字图像的直方图均化,如:i=imread('104_8.tif');j=histeq(i);③对比度调整:imadjust函数用于数字数字图像的对比度调整,如:i=imread('104_8.tif');j=imadjust(i,[0.3,0.7],[]);④对数变换:log函数用于数字数字图像的对数变换,如:i=imread('104_8.tif');j=double(i);k=log(j);⑤基于卷积的数字数字图像滤波函数:filter2函数用于数字数字图像滤波,如:i=imread('104_8.tif');h=[1,2,1;0,0,0;-1,-2,-1];j=filter2(h,i);⑥线性滤波:利用二维卷积conv2滤波, 如:i=imread('104_8.tif');h=[1,1,1;1,1,1;1,1,1];h=h/9;j=conv2(i,h);⑦中值滤波:medfilt2函数用于数字数字图像的中值滤波,如:i=imread('104_8.tif');j=medfilt2(i);⑧锐化(1)利用Sobel算子锐化数字数字图像, 如:i=imread('104_8.tif');h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子j=filter2(h,i);(2)利用拉氏算子锐化数字数字图像, 如:i=imread('104_8.tif');j=double(i);h=[0,1,0;1,-4,0;0,1,0];%拉氏算子k=conv2(j,h,'same');m=j-k;3、数字数字图像边缘检测①sobel算子如:i=imread('104_8.tif');如有帮助,欢迎支持。
在Matlab中进行图像处理的基本步骤和方法
在Matlab中进行图像处理的基本步骤和方法图像处理是一门涉及数字图像的处理技术和方法的学科,它可以帮助我们从图像中获取有用的信息,并改进图像的质量。
Matlab是一种广泛应用于科学和工程领域的高级计算机语言和环境,也是图像处理的重要工具之一。
本文将介绍在Matlab中进行图像处理的基本步骤和方法。
一、图像的读取和显示在开始进行图像处理之前,我们首先需要读取和显示图像。
在Matlab中,可以使用imread函数读取图像文件,该函数会返回一个包含图像像素值的矩阵。
通过imshow函数可以将图像显示在Matlab的图像窗口中。
同时,也可以使用imwrite函数将处理后的图像数据保存为图像文件。
二、图像的预处理在进行一系列的图像处理操作之前,通常需要对图像进行预处理,以提高后续处理步骤的效果。
常见的图像预处理方法包括灰度化、降噪、增强对比度等操作。
1. 灰度化灰度化是将彩色图像转化为灰度图像的过程。
在Matlab中,可以使用rgb2gray 函数将彩色图像转化为灰度图像。
灰度图像只有一个通道,每个像素的值表示了该像素的亮度。
2. 降噪图像中常常存在各种噪声,如高斯噪声、椒盐噪声等。
为了提高图像质量和后续处理的准确性,可以使用图像降噪方法来减少这些噪声的影响。
Matlab中提供了一些常用的降噪函数,如medfilt2、wiener2等,可以根据实际需求选择合适的方法来降噪。
3. 增强对比度对比度是指图像中不同亮度之间的差异程度。
当图像的对比度较低时,图像细节会变得不明显。
为了提高图像的可视化效果,可以使用一些增强对比度的方法。
例如,可以使用imadjust函数对图像的像素值进行调整,以拉伸图像的灰度级范围。
三、图像的滤波滤波在图像处理中起到了非常重要的作用,可以用来平滑图像、提取图像的边缘等。
在Matlab中,提供了多种滤波函数,可以根据需求选择合适的滤波方法。
1. 均值滤波均值滤波是一种常见的平滑滤波方法,可以用来消除图像中的高频噪声。
MATLAB 图像处理命令使用
MATLAB 图像处理命令使用1.MATLAB中图像处理的一些简单函数A、imreadimread函数用于读入各种图像文件,其一般的用法为[X,MAP]=imread(‘filename’,‘fmt’)其中,X,MAP分别为读出的图像数据和颜色表数据,fmt为图像的格式,filename为读取的图像文件(可以加上文件的路径)。
例:[X,MAP]=imread(’flowers.tif’,’tif’);比较读取二值图像,灰度图像,索引图像,彩色图像的X和MAP的特点,可以利用size 函数用来显示数组的维数,了解数据的特点。
B=size(a) 返回数组a 的维数。
B、imwriteimwrite函数用于输出图像,其语法格式为:imwrite(X,map,filename,fmt)imwrite(X,map,filename,fmt)按照fmt指定的格式将图像数据矩阵X和调色板map写入文件filename。
C、imfinfoimfinfo函数用于读取图像文件的有关信息,其语法格式为imfinfo(filename,fmt)imfinfo函数返回一个结构info,它反映了该图像的各方面信息,其主要数据包括:文件名(路径)、文件格式、文件格式版本号、文件的修改时间、文件的大小、文件的长度、文件的宽度、每个像素的位数、图像的类型等。
2.MATLAB中图像文件的显示imshowimshow函数是最常用的显示各种图像的函数,其语法如下:imshow(X,map)其中X是图像数据矩阵,map是其对应的颜色矩阵,若进行图像处理后不知道图像数据的值域可以用[]代替map。
(1)二进制(二值)图像显示方法,在MATLAB中一幅二值图像是uint8或双精度的,该矩阵仅包含0和1。
如果希望工具箱中的函数能将图像理解为二进制的,那么所有数据都要是逻辑数据,必须对其进行设置(将所有数据标志均设置on).可以对数据利用“~”取反操作实现图像逆转即黑白反色。
Matlab中图像处理常用函数的用法
Matlab中常见函数的用法1 size()函数1)s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。
2)[r,c]=size(A),当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。
3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1、2或者3为n赋值,则 size将返回矩阵的行数或列数。
其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数。
如果A为一个二维数组,则可以将其看成一个第三维为1的数组,即size(A,3)的返回值为1。
2 padarray()函数B = padarray(A,padsize,padval,direction)A为输入图像,B为填充后的图像,padsize给出了给出了填充的行数和列数,通常用[r c]来表示。
padval和direction分别表示填充方法和方向。
它们的具体值和描述如下:Padval选项:'symmetric'表示图像大小通过围绕边界进行镜像反射来扩展;'replicate'表示图像大小通过复制外边界中的值来扩展;'circular'图像大小通过将图像看成是一个二维周期函数的一个周期来进行扩展。
Direction选项:'pre'表示在每一维的第一个元素前填充;'post'表示在每一维的最后一个元素后填充;'both'表示在每一维的第一个元素前和最后一个元素后填充,此项为默认值。
若参量中不包括direction,则默认值为'both';若参量中不包含padval,则默认用0来填充。
若参量中不包括任何参数,则默认填充为零且方向为'both'。
matlab中imread函数的用法
matlab中imread函数的用法MATLAB中imread函数的用法MATLAB是一款强大的数学工具,用于矩阵计算、数据分析、绘图和图像处理。
imread 函数是用于读入图像文件的函数之一。
读入的图像可以是常见的各种格式,比如BMP、GIF、JPEG、PNG等。
语法格式:```img = imread(filename)img = imread(filename, fmt)```filename为图像所在路径和文件名,fmt为文件格式(可选)。
如果fmt省略,则MATLAB会自动检测图像文件的格式。
函数返回值:img:读入的图像矩阵imread函数的常见用法1. 读入 RGB 彩色图像RGB彩色图像保存为三通道的图像,分别是红、绿、蓝三个颜色通道,每个通道的值范围是 [0,255]。
读入RGB图像:```img = imread('example.jpg');```2. 读入灰度图像灰度图像只有一个通道,通道数为1,每个像素点的值在[0,255]之间。
读入灰度图像:```img = imread('example_gray.jpg');3. 指定图像格式如果图像文件的格式不支持自动检测,可以使用fmt参数来指定图像文件的格式,如JPEG格式:```img = imread('example.jpg', 'jpg');```4. 读入部分图像使用imread函数可以读入部分图像,只需要指定图像文件中某一部分的范围即可,例如:```img = imread('example.jpg','PixelRegion',{[1 10],[1 10],[]});```使用PixelRegion选项,可以选择只读入图像的某一区域,前两个参数指定所选区域的行和列的范围,第三个参数指定通道范围(如果是灰度图像则省略)。
matlab图像处理函数大全
matlab图像处理函数大全Matlab是一种强大的科学计算软件,广泛应用于各个领域,包括图像处理。
在Matlab中,有许多内置的图像处理函数,可以帮助我们实现各种图像处理任务。
本文将介绍一些常用的Matlab图像处理函数,帮助您更好地理解和运用这些函数。
1. imread函数imread函数用于读取图像文件,并将其存储为Matlab的图像矩阵。
它可以读取多种图像格式,如JPEG、PNG、BMP等。
例如,可以使用以下代码读取名为"image.jpg"的图像文件:```matlabimage = imread('image.jpg');```2. imshow函数imshow函数用于显示图像。
它可以接受一个图像矩阵作为输入,并将其显示在Matlab的图像窗口中。
例如,可以使用以下代码显示之前读取的图像:```matlabimshow(image);```3. imresize函数imresize函数用于调整图像的大小。
它可以接受一个图像矩阵和目标大小作为输入,并返回调整大小后的图像矩阵。
例如,可以使用以下代码将图像调整为200x200的大小:```matlabresized_image = imresize(image, [200, 200]);```4. rgb2gray函数rgb2gray函数用于将彩色图像转换为灰度图像。
它可以接受一个彩色图像矩阵作为输入,并返回一个灰度图像矩阵。
例如,可以使用以下代码将彩色图像转换为灰度图像:```matlabgray_image = rgb2gray(image);```5. imadjust函数imadjust函数用于调整图像的对比度和亮度。
它可以接受一个灰度图像矩阵和目标对比度和亮度范围作为输入,并返回调整后的图像矩阵。
例如,可以使用以下代码增加图像的对比度和亮度:```matlabadjusted_image = imadjust(gray_image, [0.2, 0.8], [0, 1]);```6. imfilter函数imfilter函数用于对图像进行滤波操作。
matlab图像处理-常用函数列表.docx
附录MATLAB图像处理工具箱函数表1通用函数函数功能语法colorbar 显示颜色条colorbar colorbar(.../peer\axes_handle) colorbar(axes_handle) colorba^location1) colorbar(.../PropertyName*,property value) cbar_axes = colorbar(…)getimage 从坐标轴取得图像数据A = getimage(h)[x,y,A] = getimage(h) [...,A,flag] = getimage(h) [...]=getimageimage 创建并显示图像对象image(C)image(x,y,C) image(.../PropertyName\Property Value,...) image(,PropertyName\Property Value,...) Formal syntax - PN/PV onlyhandle = image(…)imagesc 按图像显示数据矩阵imagesc(C) imagesc(x,y,C) imagesc(…Qims) h =imagesc(...)imshow 显示图像imshow(I,n) imshow(IJlow high]) imshow(BW) imshow(X,map)imshow(RGB)imsho w(…,display_option) imshow(x,yA …) imshow filename h = imshow(…)imview 利川图像浏览器显示图像imview(I)imview(RGB)imview(X,map)imview(I,range) imview(filename)imview(.../InitialMagnification\initial_mag) h = imview(…)imview close allmontage在矩形框中同时显示多帧图像montage(I) montage(BW) montage(X,map)montage(RGB) h = montage(.^)immovie 创建多帧索引色图像的电影动画mov = immovie(X,map)mov = immovie(RGB)subimage 在一个图形中显示多个图像,结合函数subplot使用subimage(X.map) subimage(I) subimage(BW)subimage(RGB) subimage(x,y^..) h =subimage(…)truesize 调整图像显示尺寸truesize(fig,[mrows mcols])truesize(fig)wrap 将图像显示到纹理映射农面warp(X.map) warp(I5n) warp(BW) warp(RGB)warp(z,...) warp(x,y,z,…) h = warp(...)zoom onzoom offzoom outzoom resetzoom 缩放图像或图形zoomzoom xonzoom yon zoom(factor) zoom(fig, option)表2图像文件I/O函数函数功能语法imfinfo 返回图像文件信息info = imfinfo(filename5fmt)info = imfinfo(filename)imread 从图像文件中读取图像A = imread(filename,fmt)[X,map] = imread(filename,fmt) [...]=imread(filename)[...]=imread(URL,...)[…]=imread(...,idx)(CUR, GIF, ICO, and TIFF only)=imread(..., 'PixelRegion', { ROWS, COLS )) (TIFF only)[...]=imread(.../frames\idx) (GIF only) [...]=imread(...,ref) (HDF only) [...]=imread(.../BackgroundColor\BG) (PNG only)[A,map,alpha] = imread(…)(ICO, CUR, and PNG only)imwrite 把图像写入图像文件中imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)i m write(...,filename)imwrite(…,Param 1 ,Vall f aram2,Val2 …)表3空间变换函数函数功能语法findbounds 为空间变换寻找输出边界outbounds = findbounds(TFORM,inbounds) fliptform切换空间变换结构的输入和输出角色TFLIP = fliptform(T)imcrop 剪切图像12 = imcrop(I)X2 = imcrop(X,map)RGB2 = imcrop(RGB)12 = imcrop(I,rect)X2 = imcrop(X,map,rect)RGB2 = imcrop(RGB,rect) […]=imcrop(x,y,…) [A,rectJ = imcrop(…) [xyAject] = imcrop(…)imresize 图像缩放B = imresize(A,m)B = imresize( A,m,method)B = imresize(A,[mrows ncols],method)B = imresize(...,method,n)B = imresize(…,method,h)imrotate 图像旋转B = imrotate(A,angle)B = imrotate(A,angle,method)B = imrotate(A,angle,method,bbox)interp2 2-D数据插值ZI = interp2(X,Y,Z,XI,YI)ZI = interp2(Z,XI,YI)ZI = interp2(Z,ntimes)ZI = interp2(X,Y,Z,XI,YI,method)imtransform 对图像进行2-D空间变换B = imtransform(A,TFORM)B = imtransform(A,TFORM,INTERP)[B,X DATA, YD ATA] = imtransform(...) [B,X DATA, YD ATA] = imtransform(..M param 1, vail, param2, val2,…)makeresampler 生成重采样结构R = makeresampler(interpolant,padmethod) maketform 生成几何变换结构T = maketform(transformtype v..)tformarray 多维数组的空间变换 B = tformarray(A, T, R, TDIMS_A,TDIMS_B, TSIZE_B, TMAP_B,F)tformfwd 正向空1'可变换[X,Y] = tformfwd(T,U,V)[X1,X2,X3,...] = tformfwd(T,U 1 ,U2,U3,...) X = tformfwd(T,U)[X1,X2,X3,...]二tformfwd(T,U)X = tformfwd(T,Ul ,U2,U3,...)tforminv 逆向空间变换U = tforminv(X,T)表4像素和统计处理函数函数功能语法corr2计算两个矩阵的2-D相关系数r = COIT2(A,B)imcontour 创建图像的轮廓图imcontour(I)imcontour(Ln) imcontour(Lv) imcontour(x,y,...)imcontour(...,LineSpec) [C,h] = imcontour(…)imhist 显示图像的直方图imhist(I,n)imhist(X,map) [counts,xj = imhist(…)impixel 确定像素颜色值P = impixel(I)P = impixeI(X,map)P = impixel(RGB)P = impixel(I,c,r)P = impixel(X,map,c,r)P = impixeI(RGB,c,r)fc,r,Fl = impixel(…)P = impixel(x,y」,xi,yi)P = impixel(x,y,X,map,xi,yi)P = impixel(x,y,RGB,xi,yi) [xi,yi,P] = impixel(x,y,…)improfile 沿线段计算剖面图的像索值c = improfilec = improfile(n)c = improfile(I,xi,yi)c = improfile(I,xi,yi,n)[cx,cy,c] = improfile(…) [cx,cy,c,xi,yi] = improfile(…) [...]=improfile(x,yj,xi,yi) [...]=improfile(x,y,I,xi,yi,n)[...]=improfile(...,method)mean2 求矩阵元素平均值 B = mean2(A)pixval 显示图像像素信息pixval onpixval offpixval pixval(fig,option) pixval(ax,option) pixval(H,option)regionprops 得到图像区域属性STATS = regionprops(L,properties) std2 计算矩阵元素的标准偏移 b = std2(A)函数功能语法edge 识别灰度图像中的边界BW = edged,,sober)BW = edge(I,'sobel',thresh)BW = edge(I,'sobel',thresh,direction) [BW,thresh] = edge(I,'sobel',...)BW = edge(I,'prewitt')BW = edge(I,'prewitt',thresh)BW = edge(I,'prewitt*,thresh,direction) [BW,thresh] = edge(I,'prewitt*,...)BW = edge(I,'roberts*)BW = edge(I,'roberts1,thresh) [BW,thresh] = edgeCI/roberts1,...)BW = edge(I;log')BW = edge(I,'log',thresh)BW = edge(I,'log*,thresh,sigma) [BW,threshold] = edge(I,'log',...)qtdecomp 执行四义树分解S = qtdecomp(I)S = qtdecomp(Lthreshold)S = qtdecomp(I,threshold jnindim)S = qtdecomp(I,threshold,[mindim maxdim]) S = qtdecomp(I,fun)S = qtdecomp(I,fun,Pl,P2,…)qtgetblk获取四义树分解中的数组块值[vals,r,c] = qtgetblk(I,S,dim) [vals,idx] = qtgetblk(I,S,dim)qtsetblk设置四叉树分解屮的数纽•块值J = qtsetblk(LS,dim,vals)函数功能语法adaplhisteq执行对比度受限的宜方图均衡J = adapthisteq(I)J = adapthisteq(I,paraml,vall,param2,val2...)decorrstretch对多通道图像应用解卷积延拓S = decorrstretch(I)S = decorrstretch(I,TOL)histeq 用直方图均等化增强对比度J = histeq(Lhgram)J = histeq(I,n)[J,T] = histeq(I,...)n ewmap = histeq(X,map,hgram) n ewmap = histeq(X5map) [newmap,T| = histeq(X,.<.)imadjust调整图像灰度值或颜色映射表J = imadjust(I)J = imadjust(I,[low_in; high_in],[low_out; high_out])J = i madj ust(..gamma)new map = imadjust(map, [low _in high_in], [low_out high_out], gamma)RGB2 = imadjust(RGBl,...)imnoise 向图像中加入噪声J = imnoise(Ltype)J = imnoise(I,type,parameters)medfilt2 进行二维中值滤波B = medfilt2(A,[m n])B = medfilt2(A)B = medfilt2( A,'indexed',...)ordfilt2 进行二维统计顺序滤波B = ordfilt2( A,order,domain) B = ordfilt2( A,order,domain,S) B = ordfilt2(...,padopt)stretchlim 得到图像对比度延拓的灰度上下限LOW_HIGH = stretchlim(I,TOL)LOW_HIGH = stretchlim(RGB,TOL)wiener2 进行二维适应性去噪滤波J = wiener2(IJm n],noise) [J,noise] = wiener2(I,[m nJ)表7线性滤波函数函数功能语法conv2 二维卷积C = conv2(A,B)C = conv2(hcol,hrow,A) C = conv2(.../shape1)convmtx2 二维矩阵卷积T = convmtx2(H,m,n)T = convmtx2(H,[m n])convn n维卷积C = convn(A,B)C = con vn( A,B /shape1)filter2 二维线性滤波Y= filter2(h,X)Y= filter2(h,X,shape)fspecial 创建预定义滤波器h = fspecial(type)h = fspecial(type,parameters) imfilter 多维图像滤波 B = imfi!ter(A,H)B = imfilter( A,H,option l,option2v«)表8线性二维滤波器设计函数函数功能语法freqspace确定二维频率响应的频率空间[fl ,f2] = freqspace(n) ffl,f2] = freqspace([m n]) [xl,yl] = freqspace(.../meshgricr) f = freqspace(N) f = freqspace(N/whole f)freqz2 计算二维频率响应[H,fl, f2] = freqz2(h,nl,n2) [H,fl,f2] = freqz2(h,[n2nl]) [H,fl,f2] = freqz2(h)[H,fl,f2] = freqz2(h,fl,f2) [...]=freqz2(h,...,[dx dy]) [...]=freqz2(h,...,dx) freqz2(...)fsamp2用频率采样法设计二维FIR滤波器h = fsamp2(Hd)h = fsamp2(fl,f2,Hd,[m nJ)ftrans2 通过频率转换法设计二维FIR滤波器h = ftrans2(b,t)h = ftrans2(b)fwind 1 用一维窗口方法设计二维FIR滤波器h = fwind l(Hd,win)h = fwind 1 (Hd,win 1 ,win2)h = fwind l(fl,f2,Hd,...)fwind2用二维窗口方法设计二维FIR滤波器h = fwind2(Hd,win)h = fwind2(f 1 ,f2,Hd, win)表9图像变换函数函数功能语法dct2 进行二维离散余弦变换B = dct2(A)B = dct2(A,m,n) B = dct2(A,[m n])dctmtx 计算离散余弦变换矩阵 D = dctmtx(n) fft2 进行二维快速傅立叶变换Y= fft2(X)Y= fft2(X,m,n) fftn 进行n维快速傅立叶变换Y= fftn(X)Y= fftn(X,siz)fftshift转换快速傅立叶变换的输出象限Y= fftshift(X)Y= ff(shift(X,dim)idct2 计算二维逆离散余弦变换B = idct2(A)B = idct2(A,m,n) B = idct2(A,[m nJ)ifft2 计算二维逆快速傅立叶变换Y= ifft2(X)Y= ifft2(X,m,n)y = ifft2(..., 'nonsymmetric1) y = ifft2(..., 'nonsymmetric1)ifftn 计算n维逆快速傅立叶变换Y= ifftn(X)Y= ifftn(X,siz)y = ^onsymmetric1) y = ^onsymmetric1)iradon 逆Radon变换I = iradon(R,theta)I = iradon(R, theta, interp, filter, frequency_scaling, output_size) [I,H] = iradon(...)phantom 产生一个头部幻影图像P = phantom(def,n) P = phantom(E,n) [P,E] = phantom(…)radon 计算Radon变换R=radon(I,theta)[R,xp]=radon(...)F = fanbeam(I,D)F = fanbeam 计算扇形投影变换fanbeam(...,param 1 ,val 1,param 1 ,val2,...) [Esensor_positions,fan_rotation_angles] fanbeam(…)表10边沿和块处理函数函数功能语法bestblk 确定进行块操作的块人小siz = bestblk([m n],k)[mb,nbj = bestblk([m n],k)blkproc实现图像的非重叠(distinct)块操作B = blkproc(A,[m n],fun)B = blkproc(A,[m n],fun,Pl,P2,...)B=blkproc(A,[m n],[mborder nborder], fun,…)B = blkproc(A/indexed\...)col2im 将矩阵的列重新组织到块中A = col2im(B,[m n],[mm nnj, block_type)A = col2im(B,[m nn])colfilt利用列相关两数进行边沿操作B = colfilt(A,[m n],block_type,fun)B = colfilt(A,[m n],block_type,fun,P 1 ,P2,...)B = colfilt(A, [m n], [mblock nblock], block_type, fun,…)B = colfill(A,'indexed',...)im2col 重调图像块为列B = im2col(A,[m nj,block_type) B = im2col(A,[m nJ)B = im2col(A,indexed;…)nlfilter 通用滑动邻域操作B = nlfilter(A,[m n],fun)B = nlfilter(A,[m n],fun,Pl,P2,...)B = nlfilter( A,'indexed',...)表11图像形态学操作函数函数功能语法applylut 在二值图像屮利用查找表进行邻域操作A = applylut(BW,LUT)bwarea 计算二值图像的对象面积total = bwarea(BW) bweuler 计算二值图像的欧拉数eul = bweuler(BW.n)bwhitmiss执行二值图像的击中和击不中操作BW2 = bwhitmiss(BWl,SEl,SE2) BW2 = bwhitmiss(B W1JNTERVAL)bwlabel 标注二值图像中己连接的部分L = bwlabel(BW,n)[L,num] = bwlabel(BW,n)bwmorph 二值图像的通用形态学操作BW2 = bwmorph(BW,operation)BW2 = bwmorph(BW,operation^) bwperim 计算二值图像中对象的周长BW2 = bwperim(BWl)BW2 = bwperim(BWl,CONN)bwselect 在二值图像中选择对象BW2 = bwselect(BW,c,r,n)BW2 = bwselect(BW,n)[BW2,idx] = bwselect(...)BW2 = bwselect(x,y,BW,xi,yi,n) [x,y,BW2,idx,xi,yi] = bwselect(...)makelut创建用于applylut函数的查找表lut = makelut(fun.n)lut = makelut(fun,n,P 1 ,P2,...)bwdist 距离变换D = bwdist(BW)[D,L] = bwdist(BW)[D,L] = bwdist(BW,METHOD)imbothat 执行形态学的闭包运算IM2 = imbothat(IM,SE)IM2 = imbothat(IM,NHOOD)imclose 图像的闭运算IM2 = imclose(IM,SE)IM2 = imclose(IM,NHOOD)imopen 图像的开运算IM2 = imopen(IM,SE)IM2 = imopen(IM,NHOOD)imdilate 图像的膨胀IM2 = imdilate(IM,SE)IM2 = imdilate(IM,NHOOD)IM2 = imdilate(IM,SE,PACKOPT) IM2 = imdilate(...,PADOPT)imerode 图像的腐蚀IM2 = imerode(IM,SE)IM2 = imerode(IM,NHOOD)IM2 = imerode(IM,SE,PACKOPT,M) IM2 = imerode(...,PADOPT)imfill 填充图像区域BW2 = imfill(BW,locations)BW2 = imfill(BW,'holes1)12 = imfill(I)BW2 = imfill(BW)[BW2 locations] = imfill(BW)BW2 = imfill(BW,locations,CONN) BW2 = imfill(BW,CONN,'holes1) 12 = imfill(I,CONN)imtophat用开运算后的图像减去原图像IM2 = imtophat(IM,SE)IM2 = imtophat(IM,NHOOD)strel 创建形态学结构元素SE = strel(shape,parameters)表12区域处理函数函数功能语法roicolor 选择感兴趣的颜色区BW = roicolor(AJow,high)BW = roicolor(A,v)roifill在图像的任意区域中进行平滑插补J = roifill(I,c,r)J = roifill(I)J = roifill(I,BW)[J,BW] = roifill(…)J = roifill(x,yj,xi,yi)[x,y,J,BW,xi,yi] = roifill(...)roifilt2 滤波特定区域J = roifilt2(h,I,BW)J = roifilt2(I,BW?fun)J = roifilt2(I,BW,fun,Pl,P2,...)roipoly 选择一个感兴趣的多边形区域BW = roipoly(I,c,r)BW = roipoly(I)BW = roipoly(x,y,I,xi,yi)[BW,xi,yi] = roipoly(...)[x,y,BW,xi,yi] = roipoly(...)表13图像代数操作函数功能语法imadd 加运算Z = imadd(X,Y) imsubtract 减运算Z = imsubtract(X,Y) immultiply 乘运算Z = immultiply(X,Y) imdivide 除运算Z = imdivide(X,Y)表14颜色空间转换函数函数功能语法hsv2rgb转换HSV的值为RGB颜色空间M = hsv2rgb(H)ntsc2rgb转换NTSC的值为RGB颜色空间rgbmap = ntsc2rgb(yiqmap) RGB = ntsc2rgb(YIQ)rgb2hsv转换RGB的值为HSV颜色空间cmap = rgb2hsv(M)rgb2ntsc转换RGB的值为NTSC颜色空间yiqmap = rgb2ntsc(rgbmap) YIQ = rgb2ntsc(RGB)rgb2ycbcr转换RGB的值为YCbCr颜色空间ycbcrmap = rgb2ycbcr(rgbmap) YCBCR = rgb2ycbcr(RGB)ycbcr2rgb转换YCbCr的值为RGB颜色空间rgbmap = ycbcr2rgb(ycbcrmap) RGB = ycbcr2rgb(YCBCR)表15图像类型和类型转换函数函数功能语法dither 通过抖动增加外观颜色分辨率,转换图像X = dither(RGB,map)BW = dither(I)gray2ind 转换灰度图像为索引色图像[X,map] = gray2ind(I,n)[X,map] = gray2ind(BW,n) grayslice 从灰度图像为索引色图像X = grayslice(I,n)X = grayslice(Lv)im2bw 转换图像为二值图像BW = im2bw(I,level)BW = im2bw(X,map,level) BW = im2bw(RGB,level)im2double 转换图像矩阵为双精度类型12 = im2double(I)RGB2 = im2double(RGB)I = im2double(BW)X2 = im2double(X,'indexed')double 转换数据为双粘度类熨double(X) uint8 转换数据为8位无符号整熨I = uint8(X)im2uint8 转换图像阵列为8位为无符号整型12 = im2uint8(I)RGB2 = im2uint8(RGB)I = im2uint8(BW)X2 = im2uint8(X;indexed*)im2uintl6转换图像阵列为16位为无符号整型12 = im2uintl6 (I)RGB2 = im2uintl6(RGB)I = im2uintl6(BW)X2 = im2uint 16(X,'indexed')uintl6转换数据为16位无符号整型I = uintl6(X)ind2gray 转换索引色图像为灰度图像I = ind2gray(Xjnap) ind2rgb转换索引色图像为RGB图像RGB = ind2rgb(X,map) isbw 判断是否为二值图像flag = isbw(A)isgray 判断是否为灰度图像flag = isgray(A)isind 判断是否为索引色图像flag = isind(A)isrgb 判断是否为RGB图像flag = isrgb(A)mat2gray 转换矩阵为灰度图像I = mat2gray(A,[amin amax])I = mat2gray(A)rgb2gray转换RGB图像或颜色映射表为灰度图像I = rgb2gray(RGB) newmap = rgb2gray(map)rgb2ind转换RGB图像为索引色图像[X,map] = rgb2ind(RGB ,tol) [X,map] = rgb2ind(RGB,n)X = rgb2ind(RGB,map) [...]=rgb2ind(...,dither_option)表A.16图像复原函数函数功能语法deconvwnr 用维纳滤波复原图像J = deconvwnr(I,PSF)J = deconvwnr(I,PSF,NSR)J = deconvwnr(I,PSF,NCORRJCORR)deconvreg用最小约束二乘滤波复原图像J = deconvreg(I,PSF)J = deconvreg(I,PSF,NOISEPOWER) J = deconvreg(I, PSF, NOISEPOWER, LRANGE)J = deconvreg(I, PSF, NOISEPOWER, LRANGE, REGOP)[J, LAGRA] = deconvreg(I,PSF,...)deconvlucy用Richardson-Lucy滤波复原图像J = deconvlucy(I,PSF)J = deconvlucy(I,PSF,NUMIT)J = deconvlucy(I,PSF,NUMIT,DAMPAR) J = deconvlucy(I, PSF, NUMIT, DAMPAR, WEIGHT)J = deconvlucy(I, PSF, NUMIT, DAMPAR, WEIGHT READOUT)J = deconvlucy(I, PSF, NUMIT, DAMPAR, WEIGHT, READOUT, SUBSMPL)deconvblind 用盲卷积滤波复原图像[J,PSF] = deconvblind(IJNITPSF)卩,PSF] = deconvblind(I,INITPSF,NUMIT) 卩,PSF] = deconvblind(I, INITPSF, NUMIT, DAMPAR)[J,PSF] = deconvblind(I, INITPSF, NUMIT, DAMPAR, WEIGHT)[J,PSF] = deconvblind(I, INITPSF, NUMIT, DAMPAR, WEIGHT, READOUT)[J,PSF] = deconvblind(..., FUN, Pl, P2, PN)。
matlab中images函数
1. 图像处理在科学研究和工程领域中具有重要作用,而MATLAB作为一种强大的科学计算软件,拥有丰富的图像处理功能。
其中,images 函数是MATLAB中用于图像处理的重要函数之一。
2. images函数是MATLAB中一个用于创建图像的函数。
它可以在MATLAB中生成各种类型和大小的图像,包括灰度图像、彩色图像以及各种特定形状和大小的图像。
images函数的基本语法如下所示: ```matlabimg = images('PropertyName', 'PropertyValue', ...)```其中,img是生成的图像对象,'PropertyName'和'PropertyValue'是用于指定图像属性的参数。
3. images函数可以用来创建各种类型的图像,包括灰度图像和彩色图像。
对于灰度图像,可以通过指定图像的大小和灰度值来创建。
下面的代码创建了一个大小为256x256的灰度图像,灰度值为128:```matlabimg = images('CData', ones(256,256)*128);```对于彩色图像,可以通过指定图像的大小和RGB值来创建。
下面的代码创建了一个大小为256x256的彩色图像,颜色为红色:```matlabimg = images('CData', cat(3, ones(256,256), zeros(256,256),zeros(256,256)));```4. images函数还可以用来创建特定形状和大小的图像。
通过指定图像的大小和形状参数,可以轻松地创建各种形状的图像,如矩形、圆形和椭圆形。
下面的代码创建了一个大小为256x256的红色矩形图像: ```matlabimg = images('CData', cat(3, ones(256,256), zeros(256,256), zeros(256,256)), 'XData', [0 10], 'YData', [0 10]);```5. images函数还可以用来处理图像的显示和调整。
MATLAB图像处理函数汇总(二)
MATLAB图像处理函数汇总(⼆)60.imnoise功能:增加图像的渲染效果.语法:J = imnoise(I,type)J = imnoise(I,type,parameters)举例I = imread('eight.tif');J = imnoise(I,'salt & pepper',0.02);imshow(I)figure, imshow(J)相关命令:rand61.impixel功能:确定像素颜⾊值.语法:MATLAB⾼级应⽤——图形及影像处理 348P = impixel(I)P = impixel(X,map)P = impixel(RGB)P = impixel(Incur)P = impixel(X,map,c,r)P = impixel(RGB,c,r)[carp] = impixel(...)P = impixel(x,y,I,xi,yi)P = impixel(x,y,X,map,xi,yi)P = impixel(x,y,RGB,xi,yi)[xi,yi,P] = impixel(x,y,...)举例RGB = imread('flowers.tif');c = [12 146 410];r = [104 156 129];pixels = impixel(RGB,c,r)pixels =61 59 101253 240 0237 37 44相关命令:improfile, pixval62.improfile功能:沿线段计算剖⾯图的像素值.语法:c = improfilec = improfile(n)c = improfile(I,xi,yi)c = improfile(I,xi,yi,n)[cx,cy,c] = improfile(...)[cx,cy,c,xi,yi] = improfile(...)[...] = improfile(x,y,I,xi,yi)[...] = improfile(x,y,I,xi,yi,n)附录 MATLAB图像处理命令 349[...] = improfile(...,method)举例I = imread('alumgrns.tif');x = [35 338 346 103];y = [253 250 17 148];improfile(I,x,y), grid on相关命令:impixel, pixval63.imread功能:从图形⽂件中读取图像.语法:A = imread(filename,fmt)[X,map] = imread(filename,fmt)[...] = imread(filename)[...] = imread(...,idx) (TIFF only)[...] = imread(...,ref) (HDF only)[...] = imread(...,'BackgroundColor',BG) (PNG only) [A,map,alpha] = imread(...) (PNG only)举例[X,map] = imread('flowers.tif',6);info = imfinfo('skull.hdf');[X,map] = imread('skull.hdf',info(4).Reference);bg = [255 0 0];A = imread('image.png','BackgroundColor',bg); MATLAB⾼级应⽤——图形及影像处理 350 [A,map,alpha] = imread('image.png');相关命令:imfinfo, imwrite,fread,double,uint8,uint1664.imresize功能:改变图像⼤⼩.语法:B = imresize(A,m,method)B = imresize(A,[mrows ncols],method)B = imresize(...,method,n)B = imresize(...,method,h)65.imrotate功能:旋转图像.语法:B = imrotate(A,angle,method)B = imrotate(A,angle,method,'crop')举例I = imread('ic.tif');J = imrotate(I,-4,'bilinear','crop');imshow(I)figure, imshow(J)相关命令:imcrop, imresize66.imshow功能:显⽰图像.语法:附录 MATLAB图像处理命令 351imshow(I,n)imshow(I,[low high])imshow(BW)imshow(X,map)imshow(RGB)imshow(...,display_option)imshow(x,y,A,...)imshow filenameh = imshow(...)相关命令:getimage, imread, iptgetpref, iptsetpref, subimage, truesize, warp 67.imwrite功能:把图像写⼊图形⽂件中.语法:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)imwrite(...,filename)imwrite(...,Param1,Val1,Param2,Val2...)举例imwrite(X,map,'flowers.hdf','Compression','none',... 'WriteMode','append')相关命令:imfinfo, imread68.ind2gray功能:把检索图像转化为灰度图像.语法:I = ind2gray(X,map)举例load treesI = ind2gray(X,map);imshow(X,map)figure,imshow(I)MATLAB⾼级应⽤——图形及影像处理 352相关命令:gray2ind, imshow, rgb2ntsc69.ind2rgb功能:转化索引图像为RGB真彩图像.语法:RGB = ind2rgb(X,map)相关命令:ind2gray, rgb2ind70.iptgetpref功能:获取图像处理⼯具箱参数设置.语法:value = iptgetpref(prefname)举例value = iptgetpref('ImshowAxesVisible')value =off相关命令:imshow, iptsetpref71.iptsetpref功能:设置图像处理⼯具箱参数.语法:iptsetpref(prefname,value)举例iptsetpref('ImshowBorder','tight')相关命令:imshow, iptgetpref, truesize72.iradon附录 MATLAB图像处理命令 353功能:进⾏反Radon变换.语法:I = iradon(P,theta)I = iradon(P,theta,interp,filter,d,n)[I,h] = iradon(...)举例P = phantom(128);R = radon(P,0:179);I = iradon(R,0:179,'nearest','Hann'); imshow(P)figure, imshow(I)相关命令:radon, phantom73.isbw功能:判断是否为⼆进制图像.语法:flag = isbw(A)相关命令:isind, isgray, isrgb74.isgray功能:判断是否为灰度图像.语法:flag = isgray(A)相关命令:isbw, isind, isrgb75.isindMATLAB⾼级应⽤——图形及影像处理 354功能:判断是否为索引图像.语法:flag = isind(A)相关命令:isbw, isgray, isrgb76.isrgb功能:判读是否为RGB真彩图像.语法:flag = isrgb(A)相关命令:isbw, isgray, isind77.makelut功能:创建⼀个⽤于applylut函数的lookup表.语法:lut = makelut(fun,n)lut = makelut(fun,n,P1,P2,...)举例f = inline('sum(x(:)) >= 2');lut = makelut(f,2)lut =111111111附录 MATLAB图像处理命令 35511相关命令:applylut78.mat2gray功能:转化矩阵为灰度图像.语法:I = mat2gray(A,[amin amax])I = mat2gray(A)举例I = imread('rice.tif');J = filter2(fspecial('sobel'),I);K = mat2gray(J);imshow(I)figure, imshow(K)相关命令:gray2ind79.mean2功能:计算矩阵元素的平均值.语法:b = mean2(A)相关命令:std2, mean, std80.medfilt2功能:进⾏⼆维中值过滤.语法:MATLAB⾼级应⽤——图形及影像处理 356 B = medfilt2(A,[m n])B = medfilt2(A)B = medfilt2(A,'indexed',...)举例I = imread('eight.tif');J = imnoise(I,'salt & pepper',0.02);K = medfilt2(J);imshow(J)figure, imshow(K)相关命令:filter2, ordfilt2, wiener281.montage功能:在矩形框中同时显⽰多幅图像.语法:montage(I)montage(BW)montage(X,map)montage(RGB)h = montage(...)举例montage(D,map)附录 MATLAB图像处理命令 357相关命令:immovie82.nlfilter功能:进⾏边沿操作.语法:B = nlfilter(A,[m n],fun)B = nlfilter(A,[m n],fun,P1,P2,...)B = nlfilter(A,'indexed',...)举例B = nlfilter(A,[3 3],'median(x(:))');相关命令:blkproc, colfilt83.ntsc2rgb功能: 转换NTSC的值为RGB颜⾊空间.语法:rgbmap = ntsc2rgb(yiqmap)RGB = ntsc2rgb(YIQ)相关命令:rgb2ntsc, rgb2ind, ind2rgb, ind2gray84.ordfilt2功能:进⾏⼆维统计顺序过滤.语法:B = ordfilt2(A,order,domain)B = ordfilt2(A,order,domain,S)MATLAB⾼级应⽤——图形及影像处理 358 B = ordfilt2(...,padopt)相关命令:medfilt285.phantom功能:产⽣⼀个头部幻影图像.语法:P = phantom(def,n)P = phantom(E,n)[P,E] = phantom(...)举例P = phantom('Modified Shepp-Logan',200);相关命令:radon, iradon86.pixval功能:显⽰图像像素信息.语法:pixval onpixval offpixvalpixval(fig,option)相关命令:impixel, improfile87.qtdecomp功能:进⾏四叉树分解.附录 MATLAB图像处理命令 359语法:S = qtdecomp(I)S = qtdecomp(I,threshold)S = qtdecomp(I,threshold,mindim)S = qtdecomp(I,threshold,[mindim maxdim]) S = qtdecomp(I,fun)S = qtdecomp(I,fun,P1,P2,...)举例I = [1 1 1 1 2 3 6 61 12 1 4 5 6 81 1 1 1 10 15 7 71 1 1 1 20 25 7 720 22 20 22 1 2 3 420 22 22 20 5 6 7 820 22 20 20 9 10 11 1222 22 20 20 13 14 15 16];S = qtdecomp(I,5);full(S)ans =4 0 0 0 2 0 2 00 0 0 0 0 0 0 00 0 0 0 1 1 2 00 0 0 0 1 1 0 04 0 0 0 2 0 2 00 0 0 0 2 0 2 00 0 0 0 0 0 0 0相关命令:qtgetblk, qtsetblk88.qtgetblk功能:获取四叉树分解中的块值.语法:[vals,r,c] = qtgetblk(I,S,dim)MATLAB⾼级应⽤——图形及影像处理 360 [vals,idx] = qtgetblk(I,S,dim)举例[vals,r,c] = qtgetblk(I,S,4)vals(:,:,1) =1 1 1 11 12 11 1 1 11 1 1 1vals(:,:,2) =20 22 20 2220 22 22 2020 22 20 2022 22 20 20r =15c =11相关命令:qtdecomp, qtsetblk89.qtsetblk功能:设置四叉树分解中的块值.语法:J = qtsetblk(I,S,dim,vals)举例newvals = cat(3,zeros(4),ones(4));J = qtsetblk(I,S,4,newvals)J =0 0 0 0 2 3 6 60 0 0 0 4 5 6 80 0 0 0 10 15 7 7附录 MATLAB图像处理命令 3610 0 0 0 20 25 7 71 1 1 1 123 41 1 1 1 5 6 7 81 1 1 1 9 10 11 121 1 1 1 13 14 15 16相关命令:qtdecomp, qtgetblk90.radon功能: 计算Radon变换.语法:R = radon(I,theta)R = radon(I,theta,n)[R,xp] = radon(...)举例iptsetpref('ImshowAxesVisible','on')I = zeros(100,100);I(25:75,25:75) = 1;theta = 0:180;[R,xp] = radon(I,theta);imshow(theta,xp,R,[]), colormap(hot), colorbar 相关命令:iradon, phantom91.rgb2gray功能: 转换RGB图像或颜⾊映像表为灰度图像.语法:I = rgb2gray(RGB)newmap = rgb2gray(map)相关命令:MATLAB⾼级应⽤——图形及影像处理 362 ind2gray, ntsc2rgb, rgb2ind, rgb2ntsc92.rgb2hsv功能: 转化RGB值为HSV颜⾊空间.语法:hsvmap = rgb2hsv(rgbmap)HSV = rgb2hsv(RGB)相关命令:hsv2rgb, rgbplot93.rgb2ind功能: 转化RGB图像为索引图像.语法:[X,map] = rgb2ind(RGB,tol)[X,map] = rgb2ind(RGB,n)X = rgb2ind(RGB,map)[...] = rgb2ind(...,dither_option)举例RGB = imread('flowers.tif');[X,map] = rgb2ind(RGB,128);imshow(X,map)相关命令:cmunique, dither, imapprox, ind2rgb, rgb2gray 94.rgb2ntsc功能: 转化RGB的值为NTSC颜⾊空间.语法:yiqmap = rgb2ntsc(rgbmap)YIQ = rgb2ntsc(RGB)附录 MATLAB图像处理命令 363相关命令:ntsc2rgb, rgb2ind, ind2rgb, ind2gray95.rgb2ycbcr功能: 转化RGB的值为YcbCr颜⾊空间.语法:ycbcrmap = rgb2ycbcr(rgbmap)YCBCR = rgb2ycbcr(RGB)相关命令:ntsc2rgb, rgb2ntsc, ycbcr2rgb96.rgbplot功能:划分颜⾊映像表.语法:rgbplot(map)举例rgbplot(jet)相关命令:colormap97.roicolor功能:选择感兴趣的颜⾊区.语法:BW = roicolor(A,low,high)BW = roicolor(A,v)举例I = imread('rice.tif');BW = roicolor(I,128,255);imshow(I);MATLAB⾼级应⽤——图形及影像处理 364 figure, imshow(BW)相关命令:roifilt2, roipoly98.roifill功能:在图像的任意区域中进⾏平滑插补.语法:J = roifill(Incur)J = roifill(I)J = roifill(I,BW)[J,BW] = roifill(...)J = roifill(x,y,I,xi,yi)[x,y,J,BW,xi,yi] = roifill(...)举例I = imread('eight.tif');c = [222 272 300 270 221 194];r = [21 21 75 121 121 75];J = roifill(Incur);imshow(I)figure, imshow(J)附录 MATLAB图像处理命令 365相关命令:roifilt2, roipoly99.roifilt2功能:过滤敏感区域.语法:J = roifilt2(h,I,BW)J = roifilt2(I,BW,fun)J = roifilt2(I,BW,fun,P1,P2,...)举例h = fspecial('unsharp');J = roifilt2(h,I,BW);imshow(J)相关命令:filter2, roipoly100.roipoly功能:选择⼀个敏感的多边形区域.语法:BW = roipoly(Incur)BW = roipoly(I)BW = roipoly(x,y,I,xi,yi)[BW,xi,yi] = roipoly(...)[x,y,BW,xi,yi] = roipoly(...)举例I = imread('eight.tif');c = [222 272 300 270 221 194];r = [21 21 75 121 121 75];BW = roipoly(Incur);imshow(I)MATLAB⾼级应⽤——图形及影像处理 366 figure, imshow(BW)相关命令:roifilt2, roicolor, roifill101.std2功能:计算矩阵元素的标准偏移.语法:b = std2(A)相关命令:corr2, mean2102.subimage功能:在⼀幅图中显⽰多个图像.语法:subimage(X,map)subimage(I)subimage(BW)subimage(RGB)subimage(x,y,...)h = subimage(...)举例load trees[X2,map2] = imread('forest.tif');subplot(1,2,1), subimage(X,map)subplot(1,2,2), subimage(X2,map2)相关命令:附录 MATLAB图像处理命令 367103.truesize功能:调整图像显⽰尺⼨.语法:truesize(fig,[mrows mcols])truesize(fig)相关命令:imshow, iptsetpref, iptgetpref104.uint8功能:转换数据为8位⽆符号整型.语法:B = uint8(A)举例a = [1 3 5];b = uint8(a);whosName Size Bytes Classa 1x3 24 doublearrayb 1x3 3 uint8 array相关命令:double, im2double, im2uint8105.uint16功能:转换数据为16位⽆符号整型.语法:I = uint16(X)MATLAB⾼级应⽤——图形及影像处理 368举例a = [1 3 5];b = uint16(a);whosName Size Bytes Classa 1x3 24 double arrayb 1x3 6 uint16 array相关命令:double, datatypes, uint8, uint32, int8, int16, int32.106.warp功能:将图像显⽰到纹理映射表⾯.语法:warp(X,map)warp(I,n)warp(BW)warp(RGB)warp(z,...)warp(x,y,z,...)h = warp(...)举例[x,y,z] = cylinder;I = imread('testpat1.tif');warp(x,y,z,I);相关命令:imshow附录 MATLAB图像处理命令 369 107.wiener2功能:进⾏⼆维适应性去噪过滤处理.语法:J = wiener2(I,[m n],noise)[J,noise] = wiener2(I,[m n])举例I = imread('saturn.tif');J = imnoise(I,'gaussian',0,0.005);K = wiener2(J,[5 5]);imshow(J)figure, imshow(K)相关命令:filter2, medfilt2108.ycbcr2rgb功能: 转化YcbCr值为RGB颜⾊空间.语法:rgbmap = ycbcr2rgb(ycbcrmap) RGB = ycbcr2rgb(YCBCR)相关命令:ntsc2rgb, rgb2ntsc, rgb2ycbcr 109.zoom功能:缩放图像.语法:zoom onzoom offzoom outMATLAB⾼级应⽤——图形及影像处理 370 zoom resetzoomzoom xonzoom yonzoom(factor)zoom(fig,option)相关命令:imcrop。
MATLAB中图像函数大全 详解及例子
图像处理函数详解——strel功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。
用法:SE = strel(shape,parameters)创建由指定形状shape对应的结构元素。
其中shape的种类有arbitrary''pair''diamond''periodicline''disk''rectangle''line''square''octagon参数parameters一般控制SE的大小。
例子:se1 = strel('square',6)% 创建6*6的正方形se2 = strel('line',10,45)% 创建直线长度10,角度45se3 = strel('disk',15)% 创建圆盘半径15se4 = strel('ball',15,5)% 创建椭圆体,半径15,高度5图像处理函数详解——roipoly功能:用于选择图像中的多边形区域。
用法:BW = roipoly(I,c,r)BW = roipoly(I)BW = roipoly(x,y,I,xi,yi)[BW,xi,yi] = roipoly(...)[x,y,BW,xi,yi] = roipoly(...)BW = roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。
BW选中的区域为1,其他部分的值为0.BW = roipoly(I)表示建立交互式的处理界面。
BW = roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。
例子:I = imread('eight.tif');c = [222 272 300 270 221 194];r = [21 21 75 121 121 75];BW = roipoly(I,c,r);imshow(I)figure, imshow(BW)图像处理函数详解——roifilt2功能:用于对一个区域进行滤波。
详解matlab图像函数及应用
详解matlab图像函数及应用MATLAB是一个用于科学计算和数据可视化的强大工具。
它提供了许多用于处理和分析图像的函数和工具。
在这篇文章中,我将详细介绍MATLAB中常用的图像函数及其应用。
MATLAB中的图像函数可以分为以下几类:1. 读取和显示图像:MATLAB提供了imread和imshow函数用于读取和显示图像。
imread函数可以从文件中读取图像,并将其存储为矩阵,imshow函数可以显示图像矩阵。
2. 调整图像尺寸和缩放:MATLAB提供了imresize函数用于调整图像的尺寸。
可以使用该函数将图像缩小或放大到指定的尺寸。
3. 调整图像亮度和对比度:MATLAB提供了imadjust函数用于调整图像的亮度和对比度。
可以使用该函数将图像的像素值映射到新的范围,从而改变图像的亮度和对比度。
4. 图像滤波和增强:MATLAB提供了许多用于图像滤波和增强的函数,如imfilter、medfilt2和imsharpen。
可以使用这些函数来平滑图像、去除噪声和增强图像的细节。
5. 图像变换:MATLAB提供了一些常用的图像变换函数,如imrotate、imcrop 和imresize。
可以使用这些函数对图像进行旋转、裁剪和缩放。
6. 图像分割和边缘检测:MATLAB提供了一些图像分割和边缘检测函数,如imsegm、edge和regionprops。
可以使用这些函数将图像分割成不同的区域,并检测图像中的边缘。
7. 形态学操作:MATLAB提供了一些形态学操作函数,如imerode、imdilate 和imopen。
可以使用这些函数来处理二值图像,如腐蚀、膨胀和开运算等操作。
8. 颜色空间转换:MATLAB提供了一些颜色空间转换函数,如rgb2gray、rgb2hsv和rgb2lab。
可以使用这些函数将图像从一种颜色空间转换到另一种颜色空间。
这些图像函数可以广泛应用于许多领域,如计算机视觉、模式识别、医学图像处理和遥感图像分析等。
如何使用MATLAB进行图像处理和计算机视觉
如何使用MATLAB进行图像处理和计算机视觉第一章:MATLAB 图像处理基础图像处理是计算机视觉领域中的重要组成部分,而MATLAB是一种强大的数值计算和数据分析工具,也是图像处理和计算机视觉研究的常用工具之一。
本章将介绍MATLAB中的图像处理基础知识,并介绍如何使用MATLAB进行图像的加载、显示和保存。
1.1 MATLAB中的图像处理函数MATLAB提供了丰富的图像处理函数,包括图像的加载和保存、图像的显示和绘制、图像的滤波和增强等。
常用的图像处理函数包括imread、imshow、imwrite、imfilter等。
1.2 图像的加载和显示使用imread函数可以加载图像,imread函数可以读取各种格式的图像文件,如PNG、JPEG、BMP等。
使用imshow函数可以显示图像,并提供了多种显示选项,如调整图像的亮度、对比度等。
1.3 图像的保存使用imwrite函数可以保存图像到指定的文件中,可以保存为各种格式的图像文件,如PNG、JPEG、BMP等。
同时,imwrite函数也支持指定图像的压缩质量和压缩格式。
第二章:图像滤波和增强图像滤波和增强是图像处理中重要的操作,可以用于去除图像中的噪声、增强图像的细节等。
MATLAB提供了丰富的图像滤波和增强函数,本章将介绍常用的图像滤波和增强方法,并结合MATLAB中的函数进行实例演示。
2.1 图像平滑使用平滑滤波可以去除图像中的噪声,常用的平滑滤波方法有均值滤波、中值滤波和高斯滤波等。
MATLAB中的imfilter函数可以实现这些滤波方法,根据需要选择不同的参数进行滤波操作。
2.2 图像锐化图像锐化可以增强图像的细节和边缘,常用的图像锐化方法有拉普拉斯锐化和梯度锐化等。
MATLAB中的imfilter函数和imgradient函数可以实现这些锐化方法,同样需要根据需求选择不同的参数。
2.3 对比度增强对比度增强可以增强图像的视觉效果,而不改变图像的色彩信息。
Matlab图像处理工具箱中部分函数用法
1. blkproc( )用法blkproc功能:对图像进行分块处理调用形式: B = blkproc(A,[m n],fun, parameter1, parameter2, ...)B = blkproc(A,[m n],[mborder nborder],fun,...)B = blkproc(A,'indexed',...)参数解释:[m n] :图像以m*n为分块单位,对图像进行处理(如8像素*8像素)Fun:应用此函数对分别对每个m*n分块的像素进行处理parameter1, parameter2:要传给fun函数的参数mborder nborder:对每个m*n块上下进行mborder个单位的扩充,左右进行nborder个单位的扩充,扩充的像素值为0,fun函数对整个扩充后的分块进行处理。
这里:fun='P1*x*P2',fun的参数P1,P2,将T,T'传递给fun的参数,即:P1= T,P2=T'.2.dwt2( )用法d wt2功能:单级二维离散小波变换调用格式: [cA,cH,cV,cD] = dwt2(X,'wname')[cA,cH,cV,cD] = dwt2(X,Lo_D,Hi_D)其意义为使用指定的小波基函数'wname'对二维信号X进行二维离散小波变换。
cA,cH,cV,cD分别为近似细节分量、水平细节分量、垂直细节分量和对角细节分量。
3.wavedec2( )用法waveder2功能:二维信号的多层小波分解调用格式:[C,S] = wavedec2(X,N,'wname')[C,S] = wavedec2(X,N,Lo_D,Hi_D)其意义为使用小波基函数'wname'对二维信号X进行N层分解。
4.idwt2( )用法idwt2功能:单级二维离散小波反变换调用格式:X = idwt2(cA,cH,cV,cD,'wname')X = idwt2(cA,cH,cV,cD,Lo_R,Hi_R)X = idwt2(cA,cH,cV,cD,'wname',S)X = idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)X = idwt2(...,'mode',MODE)其意义为由信号小波分解的近似信号cA和细节信号cH,cV,cD经小波反变换重构原信号X。
matlab imfuse函数
matlab imfuse函数Matlab是一款非常强大的科学计算软件,它提供了许多用于图像处理的函数。
其中,`imfuse`函数是一个非常有用的函数,它可以将两幅图像融合在一起。
本文将介绍`imfuse`函数的使用方法和功能。
我们需要了解`imfuse`函数的输入参数。
`imfuse`函数接受两幅输入图像,分别表示需要融合的两幅图像。
这两幅图像可以是灰度图像、彩色图像或二值图像。
在融合过程中,`imfuse`函数会根据输入图像的不同,采用不同的融合策略。
对于灰度图像,`imfuse`函数会将两幅图像叠加在一起,生成一幅新的灰度图像。
在叠加过程中,可以通过调整不同的参数来控制叠加的效果。
例如,可以使用不同的权重来调整两幅图像的叠加比例,从而实现不同的融合效果。
对于彩色图像,`imfuse`函数会将两幅图像的每个通道进行融合,并生成一幅新的彩色图像。
在融合过程中,可以通过调整不同的参数来控制融合的方式。
例如,可以使用不同的融合算法来实现颜色的平滑过渡,从而实现更加自然的融合效果。
对于二值图像,`imfuse`函数会将两幅图像进行逻辑运算,并生成一幅新的二值图像。
在逻辑运算过程中,可以通过调整不同的参数来控制逻辑运算的方式。
例如,可以使用不同的逻辑运算符来实现图像的交、并、补等操作,从而实现不同的融合效果。
除了基本的融合功能,`imfuse`函数还提供了一些其他的功能。
例如,可以通过调整不同的参数来控制图像的对比度、亮度、饱和度等,从而实现图像的增强效果。
此外,`imfuse`函数还可以用于图像的配准、拼接和融合等应用领域。
在使用`imfuse`函数时,需要注意一些问题。
首先,输入的图像应具有相同的尺寸和数据类型。
如果图像的尺寸不同,可以使用`imresize`函数将图像进行缩放。
如果图像的数据类型不同,可以使用`im2double`函数将图像转换为双精度类型。
`imfuse`函数的输出图像类型与输入图像类型相同。
使用Matlab进行图像处理的方法
使用Matlab进行图像处理的方法引言:在当今数字化时代,图像处理成为了计算机科学中重要且热门的领域。
图像处理可以用于各种应用,比如医学图像分析、视频监控、人工智能等。
而Matlab作为一种强大的计算工具在图像处理中也发挥着重要的作用。
本文将介绍一些使用Matlab进行图像处理的方法,以帮助读者掌握这一领域的基本技能。
一、读入和显示图像图像处理的第一步是读入和显示图像。
在Matlab中,可以使用imread()函数读取图像,并使用imshow()函数显示图像。
例如,下面的代码将读入名为"image.jpg"的图像,并在Matlab中显示出来。
```image = imread('image.jpg');imshow(image);```二、灰度图像处理在图像处理中,常常需要将彩色图像转换为灰度图像,这可以通过将RGB通道的像素值取平均得到。
Matlab提供了rgb2gray()函数来实现这一转换。
例如,下面的代码将读入一个彩色图像,并将其转换为灰度图像。
```image = imread('image.jpg');gray_image = rgb2gray(image);imshow(gray_image);```三、图像的尺寸调整有时候我们需要调整图像的尺寸,比如缩小或者放大图像,以适应不同的应用场景。
Matlab中提供了imresize()函数来实现这一功能。
下面的代码将读入一个图像,并将其尺寸调整为原来的一半。
```image = imread('image.jpg');resized_image = imresize(image, 0.5);imshow(resized_image);```四、图像的滤波滤波是图像处理中常用的技术,它能够增强或者减弱图像中的某些特征。
在Matlab中,可以使用imfilter()函数来实现各种滤波操作。
使用Matlab进行图像处理的常用函数介绍
使用Matlab进行图像处理的常用函数介绍引言:图像处理是计算机科学和电子工程领域中的重要分支,它利用数字技术对图像进行各种操作和改变,以实现图像的增强、分割、恢复等目标。
而Matlab作为一种功能强大的科学计算软件,被广泛应用于图像处理领域。
本文将介绍几个常用的Matlab图像处理函数,并结合实例进行详解。
一、图像读取与显示函数1. imread函数imread函数是Matlab中用于读取图像的函数,它可以读取各种图像格式(如JPEG、PNG、BMP等)的图像文件,并将其转换为Matlab中的矩阵形式。
示例:```img = imread('image.jpg');```2. imshow函数imshow函数用于在Matlab中显示图像,它可以接受矩阵形式的图像作为输入,并在新窗口中显示出来。
此外,imshow函数还可以对显示的图像进行一些调整,如调整图像的亮度、对比度等参数。
示例:```imshow(img); % 显示读取的图像```二、图像增强函数1. imadjust函数imadjust函数可以调整图像的亮度和对比度,以增强图像的视觉效果。
它通过对图像的像素值进行映射,将原始图像灰度值的范围进行调整,从而使图像的显示效果更好。
示例:```img_adjusted = imadjust(img, [0.2 0.8], [0 1]);```2. histeq函数histeq函数可以进行直方图均衡化处理,使图像的像素值在不同灰度级之间更均匀分布,从而增强图像的对比度和细节。
示例:```img_equalized = histeq(img);```三、图像滤波函数1. imfilter函数imfilter函数实现了不同类型的图像滤波算法,包括平滑滤波、锐化滤波等。
它可以对图像的每个像素点进行卷积运算,以消除噪声、增强边缘等。
示例:```filter = fspecial('average', [5 5]); % 创建一个平滑滤波器img_filtered = imfilter(img, filter); % 对图像进行平滑滤波```2. medfilt2函数medfilt2函数是一种中值滤波算法,它可以有效地去除图像中的椒盐噪声、脉冲噪声等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Select.m
matlab函数bwareaopen──删除小面积对象
格式:
BW2 = bwareaopen(BW,P,conn)
作用:
删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域。
算法:
(1)Determine the connected components.
L = bwlabeln(BW, conn);
(2)Compute the area of each component.
S = regionprops(L, 'Area');
(3)Remove small objects.
bw2 = ismember(L, find([S.Area] >= P));
Matlab中函数strel在操作结构元素应用
Matlab中函数strel在操作结构元素应用,用于膨胀腐蚀及开闭运算等操作的结构元素对象
具体用法:SE = strel(shape,parameters)
创建由指定形状shape对应的结构元素。
其中shape的种类有
arbitrary'
'pair'
'diamond'
'periodicline'
'disk'
'rectangle'
'line'
'square'
'octagon
参数parameters一般控制SE的大小。
例子:
se1 = strel('square',6)% 创建6*6的正方形
se2 = strel('line',10,45)% 创建直线长度10,角度45
se3 = strel('disk',15)% 创建圆盘半径15
se4 = strel('ball',15,5)% 创建椭圆体,半径15,高度5
Matlab中用imdilate函数实现膨胀
用法为:
Imdilate(X,SE).其中X是待处理的图像,SE是结构元素对象。
例如:
bw = imread('text.tif');
se = strel('line',11,90);
bw2 = imdilate(bw,se);
imshow(bw), title('Original')
figure, imshow(bw2), title('Dilated'
Matlab用imerode函数实现图像腐蚀
用法为:
Imerode(X,SE).其中X是待处理的图像,SE是结构元素对象。
例如:
I = imread('cameraman.tif');
se = strel('ball',5,5);
I2 = imerode(I,se);
imshow(I), title('Original')
figure, imshow(I2), title('Eroded')。