matlab图像处理工具箱大全--参考-推荐下载
- 格式:pdf
- 大小:209.16 KB
- 文档页数:9
图像处理函数详解——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');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 treesBW = 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,默认值为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)图像处理函数详解——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抖动成二值图像BWX = 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 = [1 2 1; 0 0 0; -1 -2 -1];A = zeros(10);A(3:7,3:7) = ones(5);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的定义值如下:维数参数值说明44邻域对二维88邻域66邻域1818邻域对三维2626邻域例子:BW1 = imread('circbw.tif');BW2 = bwperim(BW1,8);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大于1,此映射偏重更低数值(灰暗)输出,如果省略此参数,默认为(线性映射)。
newmap = imadjust(map,[low_in; high_in],[low_out; high_out],gamma)调整索引色图像的调色板map。