私は同じような形をした1つの円のような形の画像を持っています。私はその2つの形の領域を見つけようとしています。私はopenCv C++ Houghサークル検出を使用していますが、形状を検出しません。 OpenCVの他の機能は、形状を検出し、アレスを見つけるために使用できますか?OpenCVのような形の検出とその領域
[編集]画像が追加されました。あなたは(完全に、または非常に近い加入エッジ)、一般的にエッジに簡単です完全な形状を持っている場合は
はここに私のサンプルコード
int main()
{
Mat src, gray;
src = imread("detect_circles_simple.jpg", 1);resize(src,src,Size(640,480));
cvtColor(src, gray, CV_BGR2GRAY);
// Reduce the noise so we avoid false circle detection
GaussianBlur(gray, gray, Size(9, 9), 2, 2);
vector<Vec3f> circles;
// Apply the Hough Transform to find the circles
HoughCircles(gray, circles, CV_HOUGH_GRADIENT, 1, 30, 200, 50, 0, 0);
cout << "No. of circles : " << circles.size()<<endl;
// Draw the circles detected
for(size_t i = 0; i < circles.size(); i++)
{
Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
int radius = cvRound(circles[i][2]);
circle(src, center, 3, Scalar(0,255,0), -1, 8, 0);// circle center
circle(src, center, radius, Scalar(0,0,255), 3, 8, 0);// circle outline
cout << "center : " << center << "\nradius : " << radius << endl;
}
exit(0);
// Show your results
namedWindow("Hough Circle Transform Demo", CV_WINDOW_AUTOSIZE);
imshow("Hough Circle Transform Demo", src);
waitKey(0);
return 0;
}
はい、1000人です。特定の回答が必要な場合は、コードと画像を提供してください。 – m3h0w
@ m3h0w私は – viz12
@ viz12で作業している画像を追加しました。この場合、画像処理に敏感なものでは画面の画像を得るために電話機のカメラを実際に使用すべきではありません。元の画像を送信するか、少なくとも「スクリーン印刷」ボタンを使用してスクリーンショットを撮るだけです。 – Liberus