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 中每个像素的连通分量的高度矩阵的主要内容,如果未能解决你的问题,请参考以下文章

从图像中删除像素值总和 < 阈值的连通分量

R函数从网络中一个一个地删除节点并输出最大的连通分量

数据结构—图/无向图/连通图/连通分量/邻接矩阵/表/广度深度遍历

C - Nuske vs Phantom Thnook

如何使用python OpenCV在单通道图像中找到与特定值匹配的最大连通分量?

强连通分量