OpenCVのHoughcirles関数を使用してオブジェクトを検出しようとしましたが、すべての画像に対してより良いパラメータを得ることができませんでしたが、threasholdingを行うとサークルをフィルタリングできます。私が使用しているコードは、しきい値の後サークル検出:houghcriclesのパラメータ
int main()
{
// Load an image
src = imread("occupant/cam_000569.png");
threshold(src,binary,52,255,0);
imwrite("binary.png",binary);
canny(src,canny,50,200,3);
houghcircles(canny,circles,CV_HOUGH_GRADIENT,1,src.gray.rows/8,7,24,28);
ですが、私は下の画像を取得し、障害があっても含まれているが、オブジェクトが明らかである場合
52
のしきい値のために、私は他のすべての画像に対して同じことを見ることができました。
canny
およびhoughcircles
のパラメータを使用した後のコードには、コードが記載されています。私は必要なオブジェクトを検出することができました。
しかし問題は、次の画像を使用して同じしきい値の値を適用することができますが、cannyとhoughcirclesに同じパラメータを使用すると、オブジェクトを検出できません。
私の質問は、どのようにhoughcircleのパラメータを選択するか、または別のOpenCV関数でオブジェクトを検出することは可能ですか?
ありがとうございます。私は照明が一つの理由だと確信しています。しかし、私の主な問題は、harshCircleのパラメータ、特にパラメータ1とパラメータ2を閾値処理のために選ぶ方法です。 – Reddy2810
@ Reddy2810このような場合にパラメータを選択する通常の方法は、特定のシーンからの多数の画像のソフトウェアをテストし、最良の結果をもたらすパラメータの組み合わせを選択する「経験的選択」です。 – Totoro