使用Emgu CV C时出错

时间:2015-04-18 20:29:49

标签: c# emgucv

我是Emgu的新手,正在通过互联网学习C#代码教程。在代码中,我得到了某些元素,如img [channel](第15行)和NewImage(" Background segmented",image)(第21行)未被引用。但我添加了适当的DLL和引用。如果我在这里遗失任何东西,你能告诉我吗?

using Emgu;
using Emgu.CV;
using Emgu.Util;
using Emgu.CV.CvEnum;
using Emgu.CV.Util;
using Emgu.CV.Structure;

private void CielabChannelMaskBGSubtraction(string filename, bool displayResult)
        {
        double threshold = double.Parse(max2textBox.Text);

        Image<Bgr, byte> rgb = new Image<Bgr, byte>(filename);
        Image<Lab, Byte> img = rgb.Convert<Lab, Byte>();

        //get the a* channel 
        Image<Gray, Byte> gray = img[channel];

        //threshold and invert
        gray = gray.ThresholdBinary(new Gray(threshold), new Gray(255)).Not();

        // display the result
        if (displayResult) this.NewImage("Background segmented", image);
    }

1 个答案:

答案 0 :(得分:0)

问题在于您尝试传入变量channelimage,但这些变量不存在。

看起来,例如channel应该访问数组中的elemnt,所以你必须定义它。像

这样的东西
int channel = 0; // this would get you the first channel in the img array

图像永远不会被宣布。您不能使用尚未定义的变量