检测视频输入中的颜色

时间:2014-07-17 20:36:31

标签: opencv image-processing colors emgucv managed-c++

我知道这似乎是一个被问过一百万次的问题,这肯定有帮助,但我还没能找到任何可以帮助我解决具体问题的事情。总的来说,我的项目集中在检测一个闪烁的LED,它闪烁摩尔斯电码,然后翻译摩尔斯电码。到目前为止我所做的是我已经对图像进行了阈值处理,以便只显示LED,其他一切都是黑色的。 LED发出的光是红色的。所以我想要开始做的是打印出" 0"或" 1"取决于LED是打开还是关闭。但是,我不确定如何检测图像中的任何颜色。以下是我目前正在处理的代码部分

if(frameFromCamera->InRange(new Bgr(0, 0, 200),new Bgr(0, 0, 255)) == 255){
        tbMorse->Text ="1";
    }
    else{
        tbMorse->Text = "0";
    }

但是我收到以下错误。

BAOTFISInterface.cpp(1010): error C2664: 'Emgu::CV::Image<TColor,TDepth>    ^Emgu::CV::Image<TColor,unsigned short>::InRange(Emgu::CV::Image<TColor,unsigned short> ^,Emgu::CV::Image<TColor,unsigned short> ^)' : cannot convert parameter 1 from 'Emgu::CV::Structure::Bgr *' to 'Emgu::CV::Image<TColor,TDepth> ^'
          with
          [
              TColor=Emgu::CV::Structure::Gray,
              TDepth=unsigned char
          ]
          and
          [
              TColor=Emgu::CV::Structure::Gray,
              TDepth=unsigned short
          ]
          No user-defined-conversion operator available, or
          Cannot convert an unmanaged type to a managed type

有谁知道如何解决这个问题?我使用的是VS2010,所以我必须使用EMGU cv格式来使用OpenCV库。这都是在托管C ++中。我会接受任何我能得到的指示或建议。

0 个答案:

没有答案