【发布时间】:2015-12-29 13:22:05
【问题描述】:
【问题讨论】:
-
你是怎么得到这些红色的?这张图片是您的输入吗?
-
nope..我做了轮廓图..我的蚂蚁基本上是得到图像内部黑暗区域的轮廓。所以我做了这个。
标签: c++ c opencv image-segmentation opencv3.0
【问题讨论】:
标签: c++ c opencv image-segmentation opencv3.0
由于红色边框是你自己画的,所以完全不用分析红色组件。这样一来,您就像是在打印 txt 文件的屏幕并尝试对其进行 OCR 处理一样!
解决办法:
cv::BoundingBox 在第一个红色轮廓的点周围。ROI并将其存储在单独的cv::Mat中。0)cv::Mat,其标题与之前的 cv::Mat 相同。cv::fillPoly 用 White(255) 绘制轮廓。cv::bitwise_and 介于两者之间cv::Mats。【讨论】:
您可以尝试制作包含以红色为主色的像素的图像,例如,您将检查每个像素并制作这样的黑白图像
#define MIN_RED 192
#define MAX_OTHER 64
// each pixel
if (r >= MIN_RED && g <= MAX_OTHER && b <= MAX_OTHER)
c = 1;
else
c = 0;
这将过滤掉蓝色、绿色和灰色,并保留明亮的红色。
【讨论】:
r=255; g=255; b=255; 和 r=0; g=0; b=0;