我想使用OpenCV & objc++从图像中提取特定的颜色,所以我遵循了这个教程。“算法”的很大一部分已经起作用了,但它仍然涉及到一些问题:
这是我想要提取不同颜色区域的图像:

在图像上,应该应用一个简单的颜色提取来得到正确的颜色区域(在一种情况下,只有红色区域,在另一种情况下,只能得到蓝色立方体)。
使用我的代码(我在下面添加)--这是提取红色立方体的结果:

但我似乎找不到提取不同颜色的工作方法(比如只提取蓝色立方体)。
请参阅我的红色立方体提取代码:
cv::Scalar min(220/2, 190, 80);
cv::Scalar max(260/2, 255, 255);
cv::Mat threshold_frame;
cv::inRange( tempMatHSV, min, max, threshold_frame);
cv::Mat str_el = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3, 3));
morphologyEx(threshold_frame, threshold_frame, cv::MORPH_OPEN, str_el);
morphologyEx(threshold_frame, threshold_frame, cv::MORPH_CLOSE, str_el);任何帮助如何编辑scalar-parameters以获得蓝色匹配将不胜感激。
发布于 2018-03-18 14:46:19
色调包含主要的颜色信息。我建议从颜色的色调范围(OpenCV格式)开始:
Red - Hue [0 - 30] and [150 - 180]
Green - Hue [30 - 90]
Blue - Hue [90 - 150]同时将饱和值和值设置为0- 255。
然后,你可以试验饱和和数值,以适应照明条件。
https://stackoverflow.com/questions/49347359
复制相似问题