爱玩科技网
您的当前位置:首页matlab图像处理工具箱大全--参考

matlab图像处理工具箱大全--参考

来源:爱玩科技网
word 表1 图像显示

函数名 colorbar getimage image subimage imagesc imshow 图像显示 zoom 二维图形放大或缩小 调整数据并显示图像 建立显示图像 在同一图像窗口显示多个图像 e warp 显示图像为纹理映射外表 movie trueszi播放电影 调整图像显示大小 从坐标系中获取图像数据 immovie 从多帧索引图像中制作电影 颜色条显示 功能说明 函数名 montage 功能说明 按矩形剪辑方式显示多帧图像 表2 图像文件输入/输出 函数名 imread imwrite diread 功能说明 图像文件读入 图像写出 读取DI图像 e iminfo 查看图形信息 函数名 load save diwrit功能说明 将以mat为扩展名的图像文件调入到内存 将内存变量中图像保存到mat文件中 输出DI图像 表3 图像像素值与其统计 函数名 impixel 功能说明 返回选定图像像素颜色值 ur improfile 图像中沿一个路径的数据值计算 imhist 求图像数据直方图 函数名 imconto功能说明 画图像数据轮廓〔等高线,等值线〕 1 / 10

word mean2 std2 求均值 求标准差 corr2 求相关系数 表4 图像分析 函数名 edge 功能说明 灰度图像边缘检测 k qtep 执行四叉树分解 k qtsetbl设置四叉树分解块值 函数名 qtgetbl功能说明 获得四叉树分解块值 表5 图像增强与平滑 函数名 imadjust histeq 直方图均衡 2 imnoise 给图像增加噪声 wiener2 二维自适应除噪滤波器 比照度调整 2 ordfilt顺序统计滤波器 功能说明 函数名 medfilt功能说明 二维中值滤波器 表6 图像线性滤波与二维线性滤波器设计 函数名 conv2 convmtx2 convn filter2 fspecial frespac确定二维频率响应间隔 卷积 二维线性数字滤波器 产生预定义滤波器 ftrans fwind1 fwind2 用频率抽样转换二维FIRlbq 用一维窗口方法设计二维FIR滤波器 用二维窗口方法设计二维FIR滤波器 二维卷积 计算二维卷积矩阵 功能说明 函数名 freqz2 fsamp2 功能说明 计算二维频率响应 用频率抽样设计二维FIR滤波器 2 / 10 word e 表7 图像变换 函数名 fft ifft fft2 ifft2 fftn ifftn fftshift 功能说明 计算一维快速Fourier变换 计算一维FFT的逆变换 计算二维FFT 计算二维逆FFT 计算FFT 计算逆FFT 直流分量移到频谱中心 函数名 dct idct dct2 idct2 dctmtx radon 功能说明 计算离散余弦变换 计算离散反余弦变换 计算2D离散余弦变换 计算2D反离散余弦变换 计算TCT矩阵 计算Radon变换 表8 图像领域与操作 函数名 bestblk blkproc col2im 功能说明 选择块处理的块大小 对图像实行不同的块处理 重排矩阵列成图像块 r 函数名 colfilt im2col nlfilte功能说明 使用列方向函数进展领域运算 重排图像块为矩阵列 进展一般领域计算 表9 二值图像操作 函数名 applylut bwarea 计算二值图像中的目标区域 t bweuler 计算二值图像中的欧拉数 dilate 对二值图像进展膨胀计算 bwselec选择二值图像中的目标 功能说明 使用查找表进展领域操作 函数名 bwperim 功能说明 确定二值图像中的目标边界 3 / 10 word bwfill bwlabel bwmorph 二值图像背景区域填充 标识二值图像中的连接成分 二值图像形态运算 erode makelut 对二值图像进展寝蚀运算 构造查找表〔applylut〕使用 表10 基于区域的图像处理 函数名 roicolor roifill 在任意区域内平滑差值 功能说明 根据颜色选择要处理的区域 2 roipoly 选择要处理的多边形区域 函数名 roifilt功能说明 对要处理区域滤波 表11 图像几何运算 函数名 imcrop 图像剪裁 e imresize 图像大小调整 interp2 二维数据差值 功能说明 函数名 imrotat图像旋转 功能说明 表12 图像颜色图操作 函数名 brighten cmpermute cmunique 寻找唯一的颜色图与相应的图像 重新排列颜色图中的颜色 x rgbplot 绘制RGB颜色图 功能说明 颜色图像变亮或变暗 p imappro由颜色较少的图像近似索引图像 函数名 colorma设置获取图 功能说明 表13 颜色控件转换 函数名 功能说明 函数名 功能说明 4 / 10

word hsv2rgb 将HSV颜色转化为RGB颜色值 b mtsc2rg将NTSC值转换为RGB颜色空间值 rgb2hsv 将RGB颜色值转换为HSV颜色值 c rgb2nts将RGB值转换为NTSC颜色空间值 imview(Y, newmap) 图像处理函数详解——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。它们都可以使 用空的矩阵[],默认值是[0 1]。 newmap = imadjust(map,[low_in high_in],[low_out high_out],gamma) 调整索引色图像的调色板map。 RGB2 = imadjust(RGB1,[low_in high_in],[low_out high_out],gamma) 对RGB图像1的红、绿、蓝调色板分别进展调整。随着颜色矩阵的调整,每一个调色板都有唯一的映射值。 参数gamma指定了曲线的形状,该曲线用来映射I的亮度值。如果gamma小于1,映射被加权到更高的输出值。如果gamma大于1,映射被加权到更低的输出值。如果省略了函数的参量,如此gamma默认为1〔线性映射〕。 举例: 调整灰度图像:K = imadjust(I,[0.3 0.7],[]); figure, imshow(K) 调整RGB图像:RGB1 = imread('football.jpg'); RGB2 = imadjust(RGB1,[.2 .3 0; .6 .7 1],[]); imshow(RGB1), figure, imshow(RGB2) 图像处理函数详解——imadd 功能:实现图像相加运算。 用法:Z = imadd(X,Y) 例子:I = imread('rice.png'); 5 / 10 word J = imread('cameraman.tif'); K = imadd(I,J,'uint16'); %转换数据类型,然后将图像相加 imshow(K,[])

图像处理函数详解——im2uint8

功能:将图像转换为8位无符号整型。也可将输出值限定在[0 255]内。 用法:I2 = im2uint8(I)

RGB2 = im2uint8(RGB) I = im2uint8(BW)

X2 = im2uint8(X,'indexed') 举例:I = reshape(uint8(linspace(0,255,255)),[5 5]) I2 = im2uint8(I) 图像处理函数详解——im2bw

功能:通过设定亮度将阈值灰度、真彩、索引图像转换为二值图像。 用法:BW = im2bw(I,level) BW = im2bw(X,map,level) BW = im2bw(RGB,level)

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

Level是归一化的阈值,值域为[0,1]。Level可以由函数graythresh〔I〕来计算。 例子:load trees BW = im2bw(X,map,0.4); imview(X,map),imview(BW) 图像处理函数详解——histeq 功能:直方图均衡化。 用法:

J = histeq(I,hgram) 将原始图像I的直方图变成用户指定的向量hgram。hgram中的各元素的值域为[0,1]。

J = histeq(I,n) 指定直方图均衡后的灰度级数n,默认值为。 [J,T] = histeq(I,...) 返回从能将图像I的灰度直方图变换成图像J的直方图变换T。

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

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

举例:

6 / 10

word I = imread('tire.tif'); J = histeq(I); imshow(I) figure, imshow(J) 图像处理函数详解——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’ ‘valid’

含义

默认值,返回全部二维卷积值。 返回与A大小一样卷积值的中间局部

当all(size(A)>=size(B)),C的大小为[ma+mb-1,mb+nb-1];否如此,C返回[]。在n维卷积运算中,C的大小为max(size(A)- size(B)+1,0)

例子:

s = [1 2 1; 0 0 0; -1 -2 -1]; A = zeros(10); A(3:7,3:7) = ones(5);

7 / 10

word H = conv2(A,s); mesh(H)

图像处理函数详解——colfilt

功能:以列方法进展邻域处理,也可执行常规非线性滤波〔自己理解的〕。 用法:B = colfilt(A,[m n],block_type,fun)

该函数生成了一幅图像A,在A中,每一列对应于其中心位于图像内某个位置的邻域所包围 的像素。然后将函数应用于该矩阵中。[m n]表示大小为m行n列的邻域。block_type表示了一个字符串,包括'distinct','sliding'两种,其中'sliding'是在 输入图像中逐个像素地滑动该m乘n的区域。fun表示引用了一个函数进展处理,函数返回值的大小必须和原图像大小一样。

举例:I = imread('tire.tif'); imshow(I)

I2 = uint8(colfilt(I,[5 5],'sliding',mean)); figure, imshow(I2) 图像处理函数详解——bwperim 功能:查找二值图像的边缘。 用法:BW2 = bwperim(BW1) BW2 = bwperim(BW1,conn)

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

维数

参数值 4

对二维

8 6

对三维

18 26

说明 4邻域 8邻域 6邻域 18邻域 26邻域

例子:

BW1 = imread('circbw.tif'); BW2 = bwperim(BW1,8);

8 / 10

word imshow(BW1) figure, imshow(BW2) 图像处理函数详解——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 图像处理函数详解——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)

imadjust在数字图像处理中用于进展图像的灰度变换〔调节灰度图像的亮度或彩色图像的颜色矩阵〕。 J = imadjust(I)将灰度图像 I 中的亮度值映射到 J 中的新值并使 1% 的数据是在低高强度和饱和,这增加了输出图像 J 的比照度值。此用法相当

于 imadjust(I,stretchlim(I))J = imadjust(I,[low_in; high_in],[low_out; high_out])将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in 以下与 high_in 以上的值被剪切掉了,也就是说,low_in 以下的值映射

到 low_out,high_in 以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[0 1]。

J = imadjust(I,[low_in; high_in],[low_out; high_out],gamma)将图像 I 中的亮度值映射到 J 中的新值,其中 gamma指定描述值I和值J关系的曲线形状。如果gamma小于1,此映射偏重更高数值〔明亮〕输出,如果gamma

9 / 10

word 大于1,此映射偏重更低数值〔灰暗〕输出,如果省略此参数,默认为(线性映射)。 newmap = imadjust(map,[low_in; high_in],[low_out; high_out],gamma)调整索引色图像的调色板map。如果

low_in, high_in, low_out, high_out 和 gamma 都是标量,那么对 r,g,b 分量同时都做此映射。对于每个颜色分量都有唯一的映射,当 low_in 和 high_in 同时为1*3向量或

者 low_out 和 high_out 同时为1*3向量或者 gamma 为1*3向量时。调整后的颜色矩阵 newmap 和 map 有一样的大小。

RGB2 = imadjust(RGB1,...)对 RGB 图像 RGB1 的红、绿、蓝调色板分别进展调整。随着颜色矩阵的调整,每一个调色板都有唯一的映射值。

10 / 10

因篇幅问题不能全部显示,请点此查看更多更全内容