matlab图像处理工具箱大全--参考-推荐下载

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像处理函数详解——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 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,默认值为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抖动成二值图像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 = [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。

如果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 的红、绿、蓝调色板分别进行调整。

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

相关文档
最新文档