1

グレースケールの画像があり、白黒のみに変換します。しかし、そのためには、適切なしきい値を計算する必要があり、そのしきい値を画像の平均輝度と等しくしたいと考えています。

そのため、OpenCV でそのしきい値をどのように計算できるのか疑問に思っていました。それを簡単に行うためのメソッドがフレームワークに存在しますか?

すべてのピクセルの明るさのすべての値 (0 から 255 の間) を追加し、合計をピクセル自体の数で割りたいと思っていましたが、これらのデータにアクセスするために見つけた方法は非常に遅いです (.at(i,j)[ k] RGB 画像の場合)。しかし、私の写真はグレースケールで、iPhone で実行できるようにかなり高速にしたいと考えています。

4

2 に答える 2

6

これらの統計を計算するには、 を使用しcv::sum()ますcv::mean()

ただし、OpenCV には、やりたいことをすべて実行するしきい値処理関数が既にあります: cv::adaptiveThreshold()

また、Otsu の方法もチェックしてください。 cv::threshold()withTHRESH_OTSUオプションを参照してください。

于 2013-03-19T14:24:00.993 に答える
0

モンテカルロ アルゴリズムを使用して、画像の 1% をカバーするまで、すべての画像ポイントではなくランダム ポイントをサンプリングできます。結果は実際の値と非常によく似ているはずです。

于 2013-03-19T14:24:01.367 に答える