Erkennen Hough circles android
Ich versuche zu erkennen, Kreisen mit android. Es gelang mir, zu implementieren, die die Erkennung der Linien-Algorithmus, jedoch wird nichts angezeigt, wenn Sie versuchen, die ziehen Kreise hough algoritm.
Hier ist mein code:
Mat thresholdImage = new Mat(getFrameHeight() + getFrameHeight() / 2, getFrameWidth(), CvType.CV_8UC1);
mYuv.put(0, 0, data);
Imgproc.cvtColor(mYuv, destination, Imgproc.COLOR_YUV420sp2RGB, 4);
Imgproc.cvtColor(destination, thresholdImage, Imgproc.COLOR_RGB2GRAY, 4);
Imgproc.GaussianBlur(thresholdImage, thresholdImage, new Size(9, 9), 2, 2 );
Mat circles = new Mat();
Imgproc.HoughCircles(thresholdImage, circles, Imgproc.CV_HOUGH_GRADIENT, 1d, (double)thresholdImage.height()/70, 200d, 100d);
Log.w("circles", circles.cols()+"");
for (int x = 0; x < circles.cols(); x++)
{
double vCircle[]=circles.get(0,x);
Point center=new Point(Math.round(vCircle[0]), Math.round(vCircle[1]));
int radius = (int)Math.round(vCircle[2]);
//draw the circle center
Core.circle(destination, center, 3,new Scalar(0,255,0), -1, 8, 0 );
//draw the circle outline
Core.circle( destination, center, radius, new Scalar(0,0,255), 3, 8, 0 );
}
InformationsquelleAutor Alin Turcu | 2012-02-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie haben es gelöst, indem jetzt, aber ein paar Dinge. Ich würde überprüfen Sie Ihre Kreise mat hat eigentlich einige Ergebnisse; manchmal vCircle scheint wieder null; versuchen Sie eine der anderen Versionen von HoughCircles:
(Tauschte ich deinen code in meine, umbenannt, ein paar Sachen getauscht und es zurück, ich denke habe ich es zurück, damit es funktioniert...)
B.
InformationsquelleAutor Barry