4

ビデオカメラから取得している画像のストリームがあります。私は、ストリームからの画像の輝度に大きなスパイクがあり (すべてのピクセルの値がジャンプまたは低下する)、次の画像で通常の輝度レベルに戻る場合があることを発見しました。

これは私のアルゴリズムにとって大きな問題です。とにかく、この明るさのスパイクを防ぐことができますか? 各ピクセルにローパス フィルターのようなものを考えていましたが、この問題についてもっと経験のある人はいないかと思っていました。

MATLAB で設計し、OpenCV で実装します。いずれかのプラットフォームに気の利いた機能がある場合は、ぜひお知らせください。

御時間ありがとうございます!

4

2 に答える 2

14

かなり単純な解決策は、画像を YUV 色空間に変換し、Y チャネルでヒストグラムの均等化を実行してから、RGB に戻すことです。この方法では、画像の輝度をフレームごとに同じ分布に正規化して、輝度の変動を補正しようとします。

OpenCV でこれを行うコードは次のとおりです。

cv::cvtColor(img, img, CV_BGR2YUV);
std::vector<cv::Mat> channels;
cv::split(img, channels);
cv::equalizeHist(channels[0], channels[0]);
cv::merge(channels, img);
cv::cvtColor(img, img, CV_YUV2BGR);

これにより、以下の効果が得られます。Equalized列の 2 つの画像の明るさは、元の 2 つの画像よりも似ていることに注意してください。あなたの走行距離は異なります。

輝度均等化

于 2013-08-26T21:08:24.013 に答える