【发布时间】:2018-01-16 18:15:44
【问题描述】:
我有一个包含一个或多个 blob 的二进制图像。我想要每个 blob 的像素列表。如果我可以为每个 blob 找到一个种子点,我可以填充填充以找到 blob 的像素。
针对这个问题做一些研究,我认为我想要的算法是“连接组件标记”。我看到的大多数示例只是对 blob 输出进行颜色编码。使用此算法,我将能够收集:blob 上的一个点,以及 blob 的轴对齐边界框?
连接组件标签听起来是不是我需要的正确算法?有没有人有好的 CUDA 实现?
【问题讨论】:
-
是的,连接组件就是您想要的。如果您有一张图像,其中每个 blob 标记为不同的颜色,则边界框可以通过获取图像中每种颜色的最大和最小像素坐标来轻松计算。
-
CUDA 实现是艰巨的,因为处理严重依赖数据且不规则。将图像拆分为子图像也很困难,因为您必须在处理图块后修补碎片。
标签: algorithm image-processing cuda gpu