###前提・実現したいこと
opencvを使わない標準ライブラリーのみのC/C++で、円検出ができるコードを探しています。
ご教授お願いします。組み込み機器に実装したいので、処理の軽いアルゴリズムがベターです。
###発生している問題・エラーメッセージ
http://opencv.jp/opencv-2svn/cpp/feature_detection.html
lang
1int main(int argc, char** argv) 2{ 3 Mat img, gray; 4 if( argc != 2 && !(img=imread(argv[1], 1)).data) 5 return -1; 6 cvtColor(img, gray, CV_BGR2GRAY); 7 // 平滑化を行います.これがないと誤検出が起こりやすくなります. 8 GaussianBlur( gray, gray, Size(9, 9), 2, 2 ); 9 vector<Vec3f> circles; 10 HoughCircles(gray, circles, CV_HOUGH_GRADIENT, 11 2, gray->rows/4, 200, 100 ); 12 for( size_t i = 0; i < circles.size(); i++ ) 13 { 14 Point center(cvRound(circles[i][0]), cvRound(circles[i][1])); 15 int radius = cvRound(circles[i][2]); 16 // 円の中心を描画します. 17 circle( img, center, 3, Scalar(0,255,0), -1, 8, 0 ); 18 // 円を描画します. 19 circle( img, center, radius, Scalar(0,0,255), 3, 8, 0 ); 20 } 21 namedWindow( "circles", 1 ); 22 imshow( "circles", img ); 23 return 0; 24}
で円検出は出来ましたが、
http://akigamyl.web.fc2.com/Clang/ip_hough.html
のopencvを使用しないCコードでは、円検出出来ませんでした。(チューニングはせず)
###試したこと
googleで、「ハフ変換 円検出 C++」などで検索しましたが、
opencvを使用しないC/C++のコードは見つけられませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー