Image 中每个像素的连通分量的高度矩阵
Posted
技术标签:
【中文标题】Image 中每个像素的连通分量的高度矩阵【英文标题】:Matrix of the Heights of the the connected component of each pixel in Image 【发布时间】:2016-08-22 22:03:45 【问题描述】:我在 matlab 中有一个 B=700x800 二进制图像。我想要做的是我需要一个与 B 大小相同的矩阵 A,但不是只存储像素,而是希望它包含与该像素的连接分量相对应的高度属于二值图像。
我该怎么做?
参考文献
第5页关于矩阵A的形成 Extraction and Recognition of Artificial Text in Multimedia Documents
【问题讨论】:
您可以使用bwlabel
标记二维二值图像中的连通分量,然后为每个区域计算其沿 Y 轴的高度。这些数字将填充您的 A 矩阵。
【参考方案1】:
-
使用区域道具和边界框属性和pixelIdList
对于每个连接的组件,根据边界框为所有像素指定高度值
代码:
row = 100;
col = 100;
% Create a sample binary image
a = zeros(row,col);
a(20:30,40:60) = 1;
a(1:10,80:90) = 1;
% Finds bounding box of each component
regions = regionprops(im2bw(a),'BoundingBox','PixelIdxList');
% Go over each region and assigne is height
heightImage = zeros(row,col);
for i=1:1:length(regions)
% Change the pixels of the component to have the hight of the its
% bounding box
regionPixels = regions(i).PixelIdxList;
regionHegiht = regions(i).BoundingBox(4);
heightImage(regionPixels) = regionHegiht;
end
imshow(heightImage)
【讨论】:
以上是关于Image 中每个像素的连通分量的高度矩阵的主要内容,如果未能解决你的问题,请参考以下文章
数据结构—图/无向图/连通图/连通分量/邻接矩阵/表/广度深度遍历