Click here to Skip to main content
14,424,734 members

Cannot convert method group 'queryframe' to non-delegate type 'image<bgr, byte="">' C#

dyooshi asked:

Open original thread
I'm currently creating a windows software that will automatically capture using webcam when using login wrongly 3 times and save the captured photo in the folder. Before this, I have try this code in my VB.net project and it works fine but now I want to do it in C# but it gives me this error.

void loadimage()
       {
           try
           {

               if ((Directory.Exists("C:\\USBlocker") == false))
               {
                   Directory.CreateDirectory("C:\\USBlocker");
               }

             Emgu.CV.Image<Emgu.CV.Structure.Bgr, byte> imageviewer = this.imagecapture.QueryFrame ;  //THE ERROR IS HERE
                pictureBox1.Image = imageviewer.Bitmap;


               string fileName = "C:\\USBlocker\\A.jpg";
               int count = 0;
           Find:
               if (File.Exists(fileName))
               {
                   fileName = (("C:\\USBlocker\\A" + Convert.ToString("("))
                               + (count.ToString() + ").jpg"));
                   count++;
                   goto Find;
               }
               else
               {
                   // Add your logic here
                  imageviewer.Save(fileName);
               }

               imagecapture.Dispose();
               this.Hide();
           }
           catch (NullReferenceException ex)
           {
               MessageBox.Show(ex.Message);
           }
       }

       private void timer1_Tick(object sender, EventArgs e)
       {
           if (timeLeft > 0)
           {
               timeLeft = timeLeft - 1;
           }
           else
           {
               timer1.Stop();

               this.Close();
           }

       }

       private void Webcam_Load(object sender, EventArgs e)
       {
           if ((imagecapture == null))
           {
               try
               {
                   imagecapture = new Emgu.CV.VideoCapture();
               }
               catch (Exception ex)
               {
                   MessageBox.Show(ex.Message);
               }

           }



       }


What I have tried:

I try to add () after QueryFrame because I found that the error also can mean that it missing parenthesis but it gives me back the error Cannot implicitly convert type 'Emgu.CV.Mat' to 'Emgu.CV.Image<emgu.cv.structure.bgr, byte="">'
Tags: C#, Emgu-CV, WinForms.Net

Preview



When answering a question please:
  1. Read the question carefully.
  2. Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  3. If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
  4. Don't tell someone to read the manual. Chances are they have and don't get it. Provide an answer or move on to the next question.
Let's work to help developers, not make them feel stupid.
Please note that all posts will be submitted under the The Code Project Open License (CPOL).




CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100