OpenCV の HoughCircle メソッドを使用して画像内の円を検出するというかなり厄介な問題が発生しています。公式ドキュメントにあるコードをコピーしましたが、これまでのところ何も検出できませんでした。関数を呼び出した後の円ベクトルのサイズは 0 であるため、円は検出されませんでした。
.ppm 画像、.jpg などの複数の画像で試してみましたが、いずれも円が検出されませんでした。何がうまくいかないのか、本当にわかりません。
誰かが私が何を試すべきか考えているなら、私は非常に感謝しています.
using namespace cv;
Mat src = imread("Images/balls.jpg");
if(! src.data )
{
std::cout << "Could not open or find the image" << std::endl ;
return -1;
}
Mat src_gray2;
cvtColor(src, src_gray2, CV_BGR2GRAY );
GaussianBlur( src_gray2, src_gray2, cv::Size(9, 9), 2, 2 );
vector<Vec3f> circles;
HoughCircles(src_gray2, circles, CV_HOUGH_GRADIENT, 1, src_gray2.rows/8, 200, 100, 0, 0 );
std::cout << circles.size();