返回首页
当前位置: 主页 > 网络编程 > 其他实例教程 >

图像处理函数详解——strel使用教程

时间:2010-11-12 14:45来源:知行网www.zhixing123.cn 编辑:麦田守望者

功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。
用法: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
图像处理函数详解——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
功能:用于对一个区域进行滤波。
用法:J = roifilt2(h,I,BW)
J = roifilt2(I,BW,fun)
J = roifilt2(I,BW,fun,P1,P2,...)
J = roifilt2(h,I,BW)表示使用滤波器h对图像I中用二值掩模BW选中的区域滤波。BW为和I大小相同的二值图像。
J = roifilt2(I,BW,fun,P1,P2,...)表示用fun函数处理区域滤波图像I。参数P1、P2等为fun函数的输入参数。
例子:I = imread('eight.tif');
c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];
BW = roipoly(I,c,r);
h = fspecial('unsharp');
%指定滤波器
J = roifilt2(h,I,BW);
imshow(J), figure, imshow(J)
图像处理函数详解——roifill
(ROI——region-of-interest)
功能:对指定区域进行填充。
用法:J = roifill(I,c,r)
J = roifill(I)
[J,BW] = roifill(...)
J = roifill(x,y,I,xi,yi)
[x,y,J,BW,xi,yi] = roifill(...)
J = roifill(I,c,r) 填充由向量c,r指定的多边形,c和r分别为多边形的各顶点X、Y坐标。可用于擦除图像中的小物体。
J = roifill(I)用于交互式处理界面。
J = roifill(I,BW)用BW(和I大小一致)掩模填充此区域。如果为多个多边形,则分别执行插值填充。
例子:I = imread('eight.tif');
c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];
J = roifill(I,c,r);
imshow(I)
figure, imshow(J)
图像处理函数详解——roicolor
功能:可以根据颜色选定区域。
用法:BW = roicolor(A,low,high)
BW = roicolor(A,v)
BW = roicolor(A,low,high)色图范围为[low high],返回这些像素选择区域。BW为大小和A相同的数组,若A中元素值在[low high]范围内,则返回值1,否则返回0.
BW = roicolor(A,v)返回图像A中像素与向量v相匹配的区域,BW为二值图像,1值为A中与v相匹配的地方。
例子:I = imread('rice.png');
BW = roicolor(I,128,255);
imshow(I);
figure, imshow(BW)
matlab图像处理函数详解——rgb2gray
功能:将真彩色图像转换成灰度图像或者将彩色色图转换成灰度色图。
用法:I = rgb2gray(RGB)
newmap = rgb2gray(map)
I = rgb2gray(RGB) 将真彩色图像RGB转换成灰度图像I
newmap = rgb2gray(map) 将彩色色图map转换成灰度色图newmap
例子:X=imread(‘peppers.png’);
BW = rgb2gray(X);
imview(BW)
1、matlab函数bwareaopen──删除小面积对象

 


格式:BW2 = bwareaopen(BW,P,conn)
作用:删除二值图像BW中面积小于P的对象,默认情况下使用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));
 



2、matlab函数bwarea──计算对象面积

 

 

格式:total = bwarea(BW)
作用:估计二值图像中对象的面积。
注:该面积和二值图像中对象的像素数目不一定相等。

3、matlab函数imclearborder──边界对象抑制

 

格式:IM2 = imclearborder(IM,conn)
作用:抑制和图像边界相连的亮对象。若IM是二值图,imclearborder将删除和图像边界相连的对象。默认情况conn=8。
注:For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures.
算法:
(1)Mask image is the input image.
(2)Marker image is zero everywhere except along the border, where it equals the mask image.
 

 

 


 

4、matlab函数bwboundaries──获取对象轮廓

 


格式:B = bwboundaries(BW,conn)(基本格式)
作用:获取二值图中对象的轮廓,和OpenCV中cvFindContours函数功能类似。B是一个P×1的cell数组,P为对象个数,每个cell是Q×2的矩阵,对应于对象轮廓像素的坐标。

5、matlab函数imregionalmin──获取极小值区域

 

格式:BW = imregionalmin(I,conn)
作用:寻找图像I的极小值区域(regional maxima),默认情况conn=8。
Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value.
 

 

 


6、matlab函数bwulterode──距离变换的极大值

格式:BW2 = bwulterode(BW,method,conn)
作用:终极腐蚀。寻找二值图像BW的距离变换图的区域极大值(regional maxima)。用于距离变换的距离默认为euclidean,连通性为8邻域

 

------分隔线----------------------------
标签(Tag):MATLAB
------分隔线----------------------------
推荐内容
猜你感兴趣
博聚网