检测对象颜色各种照明OpenCV Java

检测对象颜色各种照明OpenCV Java,java,opencv,embedded,Java,Opencv,Embedded,我想创建一个简单的openCV应用程序,它能够在各种照明条件下准确地检测红色(比如红色的solo cup) 哪种颜色空间是最好的(RGB、HSV等),我应该如何实现这样的功能 我是一个新使用openCV的人,这将是我的第一个项目,所以任何例子都将不胜感激 有很多用于检测的例子,但没有一个涉及颜色如何根据强光、阴影、弱光等呈现不同的阴影和色调,以及如何对此进行补偿 我计划在一个嵌入式项目中使用它,这样我就可以有一个光电二极管来检测环境光的数量,如果这些信息有帮助的话 谢谢 试试看。它使用OpenC

我想创建一个简单的openCV应用程序,它能够在各种照明条件下准确地检测红色(比如红色的solo cup)

哪种颜色空间是最好的(RGB、HSV等),我应该如何实现这样的功能

我是一个新使用openCV的人,这将是我的第一个项目,所以任何例子都将不胜感激

有很多用于检测的例子,但没有一个涉及颜色如何根据强光、阴影、弱光等呈现不同的阴影和色调,以及如何对此进行补偿

我计划在一个嵌入式项目中使用它,这样我就可以有一个光电二极管来检测环境光的数量,如果这些信息有帮助的话

谢谢

试试看。它使用OpenCV以最简单的方式检测颜色:

# find the colors within the specified boundaries and apply
# the mask
mask = cv2.inRange(image, lower, upper)
output = cv2.bitwise_and(image, image, mask = mask)
它是Python,但代码非常简单,足以说明它是如何工作的

请尝试使用您的设置首先获得的图片。第一次尝试它既快速又简单

检测红色是相当简单的,直到你弄乱了照明。在这一点上,问题会变得非常棘手


因此,最好忽略这个问题,直到您有机会看到它如何影响您的设置。您的照明限制可能很简单(例如,明亮与暗淡的图片),也可能很复杂(例如,在黑暗中呈蓝色,在明亮的灯光下呈黄色)。

因此,我找到了一个很好的解决方案。我从本教程开始: 它允许您在飞行中移动HSV值,以便您可以试验不同的照明条件。因此,在那之后,我能够找出在不同条件下最有效的值。接下来,我将允许程序一点一点地改变hsv值,希望根据我的实验结果找到杯子。 当程序找到一个感觉足够好的对象时,它会在其周围绘制轮廓。 编辑:通过增加“模糊”的数量,我能够更有效地检测对象。
抱歉,如果我使用了不好的术语。我不熟悉这一点。

没有确定的镜头颜色空间能很好地满足您的需求,但您可以从
HSV
YCrCB
颜色空间开始,看看哪种颜色空间更适合您。