Page 1 of 1

Image processing - up to 50€ reward

Posted: Tue Dec 22, 2015 6:30 pm
by Geaper
I am willing to pay around 50€ via Paypal if you help me in the inicial code to make a project. I am new in EMGU and it's very hard for me to start.

Squares:
https://gyazo.com/f48b1a95aafedde2704c458415d58de1

I need to process squares like this images and determine which one is which (maybe comparing to a known database or if square has color blue,yellow,red than it's square 1).

I am already trying to solve this problem.

This s my Application:
https://gyazo.com/5e22e9a489d42266f55c187a7fe59a0e

Code: Select all

     frame11.SmoothMedian(3); //Filtro mediana antes da passagem para HSV
                frame11_processado_hsv = frame11.Convert<Hsv, Byte>(); //Converte a imagem da camera RGB para HSV
                 frame11_processado = frame11_processado_hsv.InRange(new Hsv(hl.Value, sl.Value, vl.Value), new Hsv(hh.Value, sh.Value, vh.Value)); //utiliza as trackbars HSV para ver a cor pretendida 
                frame11_processado.SmoothGaussian(11); //Filtro gaussiano na imagem binaria

                #region Extracting the Contours
                using (MemStorage storage = new MemStorage()) //aloca espaço na memoria
                {

                    for (Contour<Point> contours = frame11_processado.FindContours(Emgu.CV.CvEnum.CHAIN_APPROX_METHOD.CV_CHAIN_APPROX_SIMPLE, Emgu.CV.CvEnum.RETR_TYPE.CV_RETR_LIST, storage); contours != null; contours = contours.HNext)
                    {

                        Contour<Point> currentContour = contours.ApproxPoly(contours.Perimeter * 0.015, storage);

                        if (currentContour.Area > area_contornos.Value)
                        {
                            if (currentContour.Total == 4)
                            {                        
                                
                                CvInvoke.cvDrawContours(frame11, contours, new MCvScalar(255), new MCvScalar(255), -1, 3, Emgu.CV.CvEnum.LINE_TYPE.EIGHT_CONNECTED, new Point(0, 0));                               
                               frame11.Draw(currentContour.BoundingRectangle, new Bgr(0, 0, 255), 3);

                                Point[] pontos = currentContour.ToArray();
                                foreach (Point p in pontos)
                                {
                                    listbox_contornos.Items.Add(p);
                                }
                            }
                        }
                     
                    }

                }
                #endregion

But if you look the image is very noisy. I will never be able to detect only the squares like this. Maybe I need to improve code? Maybe I need to change the Squares (I can make like bigger outlines or something?Can you share ideas to solve this problem? Like i said i am willing to donate via pyapal (or something else) if you help me. Consider it as a Xmas gift ^^

I know it's C# but c++ is similiar I can understand ur solution.

Image processing up to 50€ reward

Posted: Fri Feb 21, 2020 7:31 pm
by veitterirl
Hi

I have an openCL image processing project : harris corner detector and i have a big difficulty to transform the harris algorithm to C code to implement it in the kernel
Is there any image processing library like openCV which can do it without difficulties???


Thanks