图像轮廓提取指南

图像轮廓提取是一种在图像中识别物体边缘的像素的方法。在本指南中,将逐步介绍如何应用图像轮廓提取来创建一个工作流程,该工作流程执行所需的预处理步骤,然后运行图像轮廓提取。之后,可以将工作流程部署到自己的硬件上,并使用相机的帧进行推理。

交互式工作流体验

将使用Roboflow工作流,这是一个基于Web的计算机视觉应用程序构建器,来创建图像轮廓提取应用程序,并最终完成一个类似于上面的工作流。

开始之前

首先,创建一个免费的Roboflow账户。然后,导航到Roboflow仪表板并点击左侧边栏中的工作流标签。这将带到工作流首页,可以从这里创建一个工作流。点击“创建工作流”来创建一个新的工作流。

步骤1:创建工作流

在工作流编辑器中,可以配置工作流。将从空白工作流开始,并使用图像轮廓提取工作流功能。

步骤2:添加预处理块

在轮廓提取图像之前,需要应用一些预处理步骤。将应用以下步骤以实现最佳性能:灰度化、模糊和阈值处理。阈值处理将像素转换为黑色和白色,具体取决于它是否超过某个阈值。默认阈值127意味着任何值(已经是灰度的)低于127的像素将变为黑色(0),任何高于127的像素将变为白色(255)。然后可以使用阈值图像进行轮廓提取。

在工作流编辑器中,添加灰度化、图像模糊和图像阈值块。工作流应该如下所示:

// 添加每个块时,设置图像值以引用前一个图像。例如,图像转换灰度应引用图像模糊图像: // 当配置图像阈值块时,建议阈值设置为127: // 然后点击“可选属性”并将阈值类型设置为binary_inv:

这将反转阈值操作的颜色。这应该使图像的背景变为黑色,感兴趣的物体变为白色。配置完这些块后,就可以添加图像轮廓块了。

步骤3:添加图像轮廓块

在工作流编辑器中点击“添加块”,并添加图像轮廓块。将块连接起来,使用阈值处理块的图像:

// 图像轮廓块可以返回多个值: // 显示轮廓的图像; // 识别出的轮廓数量; // 轮廓层次结构。 // 配置响应块以返回需要的值。让返回图像轮廓块的图像,以便可以看到系统的响应:

最后,更新响应以包括来自image_threshold块的阈值图像,来自image_contours块的图像,以及来自image_contours块的number_contours值。配置好工作流后,现在可以测试系统了。

步骤4:测试工作流

最终工作流应该如下所示:接受输入图像、将图像转换为灰度、应用模糊、阈值处理图像、计算轮廓。然后工作流返回包含图像轮廓的响应。要测试工作流,点击“运行预览”。然后,上传想要应用轮廓提取的图像:

// 点击“运行预览”测试工作流。 // 让以俄罗斯方块的图像为例,展示这个系统如何在图像中清晰区分物体和背景以及其他物体: // 在右侧,将看到一个JSON响应,包含工作流的输出。

例如,工作流成功识别出有六个轮廓。这意味着图像中有六个物体。输出值中的淡粉色轮廓显示了识别出的轮廓。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485