使用EMGU CV进行棕色和蓝色物体检测

时间:2017-12-20 04:06:38

标签: emgucv template-matching

我正在使用模板匹配来检测棕色图像并将阈值设置为0.7以接受正确的匹配。我为棕色彩色图像创建了一些模板,但每次我用模板检查一个新的棕色图像时,我得到的分数很低,即使图像中的差异很小,也可能是某些点或照明。我尝试了很多,但无法检测到。由于每次我需要添加大量模板来实现相同的分数不同。

我正在将图像转换为灰度并进行一些预处理

    Image<Gray, byte> grayFrameimgModelROIvariable = ((Image<Bgr, byte>)imgModelROIPic.Image).Convert<Gray, byte>();
    Image<Gray, byte> grayFrameimgInspTemplateVariable = ((Image<Bgr, byte>)imgInspectedROIPic.Image).Convert<Gray, byte>();

    grayFrameimgModelROIvariable.PyrDown();
    grayFrameimgModelROIvariable.PyrUp();

    grayFrameimgInspTemplateVariable.PyrDown();
    grayFrameimgInspTemplateVariable.PyrUp();

    grayFrameimgModelROIvariable._SmoothGaussian(3);
    grayFrameimgInspTemplateVariable._SmoothGaussian(3);

请帮忙

1 个答案:

答案 0 :(得分:0)

@Shabbir, 您是否使用灰度图像来尝试区分棕色和蓝色?如果是这样,IMPO,这可能不是最好的解决方案。如果是我,我会使用HSV色标的H(Hue)进行测定然后切换到灰度。

这篇文章Color spaces in OpenCV可能有些用处。

道格