matlabstrel结构元素,图像处理函数详解——strel使⽤教程功能:⽤于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进⾏讲解)。
⽤法:SE = strel(shape,parameters)
创建由指定形状shape对应的结构元素。其中shape的种类有
arbitrary'
'pair'
'diamond'
'periodicline'
'disk'
'rectangle'
'line'
'square'
rectangle函数opencv'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邻域
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论