在计算机视觉领域,可以通过分析图像中像素的颜色来执行各种任务。例如,可以确定图像中接近给定参考颜色的像素数量是否超过了某个阈值。假设提供了一个RGB参考颜色,如rgb(63, 59, 87)(紫色),可以检查图像中有多少像素接近这个参考颜色(即在5个R、G或B值范围内)。
像素颜色计数功能可以识别图像中与给定容差范围内的参考颜色相匹配的像素数量。这个功能可以用于需要执行颜色检查的计算机视觉应用中。如果有一张包含多种不同特征的大型图像,并且想要检查其中的颜色,那么颜色计数模块就非常理想。例如,可以使用颜色计数模块来检查标签上特定颜色的像素数量(例如,标题使用紫色,底部使用白色)。
此外,还可以使用主导颜色模块来找到图像中最主导的颜色。这在图像中大部分像素都是特定颜色的情况下非常有用。在本指南中,将使用像素颜色计数模块,它允许计算特定颜色的像素数量。这个计数可以用来实施通过/失败的质量保证判断。
首先,需要创建一个免费的Roboflow账户。然后,导航到Roboflow仪表板并点击左侧边栏的“工作流”选项卡。这将带到工作流主页,可以从这里创建一个工作流。点击“创建工作流”来创建一个新的工作流。
一个窗口将出现,可以从中选择几个模板。对于本指南,选择“自定义工作流”:点击“创建工作流”来创建工作流。将被带到工作流编辑器,在这里可以配置工作流。
在工作流编辑器的右上角点击“添加模块”,然后搜索“像素颜色计数”:点击模块将其添加到工作流中。在模块设置菜单中,设置一个目标颜色。这是想要在图像中计数的颜色。可以提供RGB值或十六进制字符串。
默认情况下,工作流会计算任何与目标颜色在10个R、G或B值范围内的像素。这是因为在许多应用中,很少会出现完全相同的像素颜色;光线条件会影响像素。例如,对于目标颜色(63, 59, 87),值(53, 60, 80)仍然会匹配,因为所有R、G和B值都在目标颜色的10个单位范围内。
如果需要,可以在“可选属性”部分调整10的阈值。对于大多数用例,10是一个很好的起始阈值。现在已经准备好测试工作流了!
希望工作流根据图像中是否超过一定数量的像素来返回通过/失败。可以使用表达式模块来实现这一点。将表达式模块添加到工作流中:然后,点击“切换”来设置表达式条件。一个窗口将出现,可以在其中配置表达式。
在这个窗口中有几个选项。首先,需要声明一个新的参数。创建一个名为pixel_count的参数,并将其设置为$steps.pixel_color_count.matching_pixels_count值。然后,点击“添加案例语句”。将条件设置为pixel_count大于(>),然后是需要超过的像素数量以进行检查。对于本指南,将使用1500。将条件的输出设置为字符串“通过”。点击“保存”以保存条件。
工作流应该如下所示:接受输入图像。计算参考颜色区域内的像素数量。返回像素颜色计数。让在图像上运行工作流。点击“运行预览”以打开预览标签,可以在这里测试工作流。上传想要用作测试的图像:然后,点击“运行预览”。
在指定范围内的像素颜色计数将显示在右侧面板的JSON输出中:在这种情况下,有23,625个像素与阈值匹配。这表明标签颜色打印正确。如果计数显著较低,可能表明打印错误(即使用了错误的颜色)。系统返回了通过,表明颜色检查——紫色像素数量超过1,500——通过了。
期望匹配的像素数量将根据输入图像而变化。现在已经准备好了工作流的基础,可以用不同的模块来扩展它。
可以通过三种方式部署工作流:使用Roboflow API部署到Roboflow云;在由Roboflow托管并专门为使用的专用部署服务器上;或者在自己的硬件上。工作流部署文档详细介绍了如何使用上述各种方法部署工作流。
如果需要一个API来运行工作流而不需要管理自己的硬件,那么部署到云是理想的。话虽如此,对于减少延迟至关重要的用例,建议在自己硬件上部署。如果在Roboflow云中部署模型,可以在图像上运行推理。如果在专用部署或自己的硬件上部署,可以在图像、视频、网络摄像头流和RTSP流上运行推理。
要部署工作流,点击Roboflow工作区中任何工作流上的“部署工作流”。然后,一个窗口将打开,提供有关如何部署工作流的信息。
可以使用Roboflow工作流中的像素颜色计数模块来计算在给定容差范围内具有颜色的像素数量。在本指南中,展示了如何在Roboflow工作流中使用这个模块,测试了系统,然后讨论了可以部署工作流的方式。要了解更多关于可以用Roboflow工作流构建的应用,请参考工作流模板库。要探索工作流中可用的更多模块,请参考工作流模块库。