如何传递 RGB 信息以执行图像阈值设置



我正在使用虚幻CV从虚幻引擎获取遮罩图像和RGB图像。在这里,我还使用虚幻CV从遮罩图像中获取对象的颜色信息(R,G,B)。现在,我想知道如何将此RGB信息传递给OpenCV以进行阈值设置。

我现在正在做这些事情,将蒙版图像转换为灰度图像,然后进行阈值设置。但我不想这样做。我已经检查了这个答案,但这里的图像范围已经使用,我也不想这样做。与蒙版图像一样,每个对象都有其独特的颜色信息,因此我只想通过从遮罩图像发送所需对象的 RGB 信息来更具体,然后想告诉 OpenCV 对我发送到 OpenCV 阈值函数的颜色进行阈值处理。

用于获取 RGB 信息的代码是——

get_mask_color= client.request('vget /object/object_name/color')

它将提供遮罩颜色,然后我想将其传递给 OpenCV 以进行阈值设置。

我希望它会像现在在灰度图像上一样执行阈值,然后我将使用阈值图像进行轮廓操作。

在灰度图像中,阈值将暗像素和亮像素分开,即将灰度范围分成两个子区间。这是基于(天真的)前提,即感兴趣的对象由最浅(或最深)的颜色组成。

一种稍微合乎逻辑的方法是考虑由两个阈值(平均颜色±最大变化)定义的子区间内的像素值。如果感兴趣的对象具有几种不同的颜色,则每种颜色对应于灰度值的间隔,并且这些颜色将重叠或不重叠。实际上,这效果不佳,因为场景中的许多其他要素可以具有相同的灰度级别。

在颜色的情况下,事情更加复杂。均匀的颜色定义了RGB空间中的单个点,当您考虑变化时,您会观察到具有特定形状的整个体积。如果幸运的话,形状是一个紧凑的椭球体;如果有阴影和/或阴影效果,则形状可以是圆锥形的,并且更延伸。

同样,当物体由几种颜色组成时,体积可以由几种重叠或孤立的形状组成。

要处理给定的应用程序,您必须了解与对象对应的RGB云的形状,并找到合适的几何描述。作为第一个近似值,您可以使用具有给定中心和范围的立方体或球体。

最新更新