Я хочу обнаруживать объекты, используя метод cvHoughCircles
в Visual C #. Если кто-нибудь знает, как это сделать, пожалуйста, помогите мне.
Изменить сведения:
Iискал в инете есть примеры использования gray.HoughCircles
метода.
это мой код.
Image<Bgr, Byte> image = capture.QueryFrame();
MCvScalar hsv_min = new MCvScalar(150, 84, 130, 0);
MCvScalar hsv_max = new MCvScalar(358, 256, 255, 0);
IntPtr hsv_frame = CvInvoke.cvCreateImage(new System.Drawing.Size(640, 480),IPL_DEPTH.IPL_DEPTH_8U, 3);
IntPtr thresholded = CvInvoke.cvCreateImage(new System.Drawing.Size(640, 480), IPL_DEPTH.IPL_DEPTH_8U, 1);
CvInvoke.cvCvtColor(image, hsv_frame, COLOR_CONVERSION.CV_BGR2HSV);
CvInvoke.cvInRangeS(hsv_frame, hsv_min, hsv_max, thresholded);
IntPtr storage = CvInvoke.cvCreateMemStorage(0);
CvInvoke.cvSmooth(thresholded, thresholded, SMOOTH_TYPE.CV_GAUSSIAN, 9, 9, 0, 0);
IntPtr circles= CvInvoke.cvHoughCircles(thresholded, storage,HOUGH_TYPE.CV_HOUGH_GRADIENT , 2, 4, 100, 50, 10, 400);
В следующей ссылке есть код. Но он в pythen.So, что я делаюпытается преобразовать его в визуальный c #.
http://www.lirtex.com/robotics/fast-object-tracking-robot-computer-vision/#comment-847
Я хочу взять все обнаруженные круги в цикл for, а затем нарисовать окружность для соответствующих объектов, как в коде pythen.
Я пытался использовать цикл foreach, но есть ошибка,
оператор foreach не может работать с переменными типа 'System.IntPtr', поскольку 'System.IntPtr' не содержит публичного определения для 'GetEnumerator '.
Есть ли способ избежать этой ошибки.