私は現在黒と緑のドットからなる画像を作りました。私はその画像を印刷してカメラでクリックしました。 opencvでこの画像をスキャンするプログラム。ここでの画像は以下のとおりです。この画像から緑色の円を特定してください
これは私がこのコードで円をスキャンし、それらのそれぞれをループを実行することができています....しかし、今私が欲しいのコード
image = imread("ImageTryse.jpg", 1); // Read the image
cv::resize(image, image, Size(800, 800), 0, 0, cv::INTER_CUBIC);
Mat image_gray = IncreaseContrast(image);
cvtColor(image_gray, image_gray, CV_BGR2GRAY);
vector<vec3f> circles1;
HoughCircles(image_gray, circles1, CV_HOUGH_GRADIENT, 2, 10, 100, 22, 10, 17);
です天気を知るためには、サークルは緑色か黒色か....私はそれをどうすればいいのかわかりません....私はhsvに変換しようとしましたが、この問題を解決するのに役立ちます....
実際、これはHSVではなくBGRで検出する方が簡単かもしれないと思います。検出されたディスクの赤色(または青色)成分に対する緑色成分の比率を調べてみましたか? – beaker
@ビーカー、それはまったくナンセンスです。 BGR <-> HSV変換は完全に全単射である。 –
私はコードとサンプルを使って問題を解決し、その答えを編集しました。チェックアウトしてください! –