2011-06-10 3 views
1

Je veux détecter des objets en utilisant la méthode cvHoughCircles dans visual C# .Si quelqu'un sait comment faire cela s'il vous plaît aidez-moi.Détection d'objet en utilisant emgu cv CvInvoke.cvHoughCircles

Modifier Détails:

je recherche dans l'Internet il y a des exemples en utilisant la méthode gray.HoughCircles.
ceci est mon code.

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); 

Dans le lien suivant, il est code.But est en pythen.So ce que je fais essaie de le convertir en Visual C#.

http://www.lirtex.com/robotics/fast-object-tracking-robot-computer-vision/#comment-847

Je veux prendre tous les milieux détectés dans de boucle, puis tracer le cercle correspondant à des objets comme dans le code pythen.

J'ai essayé d'utiliser foreach mais il y a erreur,

foreach ne peut pas fonctionner sur des variables de type « System.IntPtr » parce que « System.IntPtr » ne contient pas de définition publique pour « GetEnumerator » .

Y at-il une méthode pour éviter cette erreur?

+0

Peut-être que vous devriez lire quelques articles sur la question. Essayez un peu vous-même. Testez quelques exemples de code. Revenez ensuite lorsque vous trouverez d'autres questions plus spécifiques. =) –

Répondre