为什么在openCV中蓝色标记的色调值完全不同?

nnsrf1az  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(110)

我试图检测彩色身体标记。因此我在皮肤上画了白色和蓝色的点。我的问题是一些蓝色标记的H值与其他蓝色标记完全不同。下面是一个示例图像:

在这张图中,白色标记附近有蓝色标记。当我选择左边的蓝色标记时,我得到的HSV值为[135,26,99](我使用opencv,这是蓝色的期望值)。当我选择右边的蓝色标记时,我得到的HSV值为[10,94,81]。
在我看来,它们看起来很相似,但它们在完全不同的H范围内,这使得很难检测。我认为HSV正是为此而设计的。有什么建议我如何才能检测这些标记?

sycxhyv7

sycxhyv71#

这是因为那些“蓝色”标记基本上是灰色
看,它们的饱和度是零,这意味着它们没有颜色!
你需要调整你的白色平衡,这样它们实际上是蓝色的,而不是灰色的。
你可以把相机对准白色/灰色的东西,调整白平衡,使该区域实际上是白色/灰色的,而不是有一些色调。
请看这个饱和度平面:

这里的东西平衡使用暗淡的米色区域在顶部,我假设是一个随机的灰色的东西在房间里。

看,现在这些斑点的饱和度稍微好一点:

既然你的图片质量如此之差,那么你从中得到的任何东西也将是糟糕的。

相关问题