ビジュアルC#でメソッドを使用してオブジェクトを検出したいcvHoughCircles
.誰かがこれを行う方法を知っているなら、私を助けてください.
詳細を編集する:
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 にあります。私がやっていることは、それを視覚的な c# に変換しようとしていることです。
http://www.lirtex.com/robotics/fast-object-tracking-robot-computer-vision/#comment-847
検出されたすべての円を for ループに取り込み、pythen コードのように対応するオブジェクトに円を描画します。
foreach ループを使用しようとしましたが、エラーが発生し、
'System.IntPtr' には 'GetEnumerator' のパブリック定義が含まれていないため、foreach ステートメントは 'System.IntPtr' 型の変数を操作できません。
このエラーを回避する方法はありますか。