2

他の誰かのために魚の卵を数える OpenCV プログラムを書こうとしています。現在、アップロードされた画像を取得し、正規化、ぼかし、しきい値、膨張、距離変換、しきい値を再度設定してから、輪郭を見つけます (典型的な流域チュートリアルのように)。

私が抱えている問題は、照明条件がかなり異なる可能性があることです。そのため、適応しきい値を使用しても、アルゴリズムの精度も大きく異なります. 画像全体にグラデーションの明るさがある場合、特にうまくいかないようです。背景に対してオブジェクトが非常に明るい場合もあれば、ほとんど同じ明るさの場合もあります。さまざまな照明条件でオブジェクトを見つける特に効果的な方法はありますか?

サンプル画像: 画像 gif

4

2 に答える 2

0

画像のアルファ値とベータ値を計算します image = cv::imread("F:\Dilated.jpg"); int x,y; int a=0; // ループで使用する変数 int count=0; // ループで使用する変数

  for( int y = 0; y < image.rows; y++ )
  { for( int x = 0; x < image.cols; x++ )
      { for( int c = 0; c < 3; c++ )
          {
                   image.at<Vec3b>(y,x)[c] =
            saturate_cast<uchar>( alpha*(     image.at<Vec3b>(y,x)[c] ) + beta );
           }
       }
  }
于 2014-06-20T06:23:58.433 に答える