最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

低光量イメージの強調

屋外シーンで取られたイメージは、ライティング条件が十分ではないため、非常に画質が悪い場合があります。これらのイメージはノイズ レベルが高く、ダイナミック レンジが低くなることがあります。これはコンピューター ビジョン アルゴリズムの全体のパフォーマンスに影響します。光量が少ない条件でコンピューター ビジョン アルゴリズムをロバストにするには、低光量イメージ強調を使用して、イメージの可視化状態を改良します。低光量イメージまたは HDR イメージをピクセル単位で反転したヒストグラムは、かすんだイメージのヒストグラムとよく似ています。したがって、かすみ低減法を使用して、低光量イメージを強調できます。

かすみ低減法を使用した低光量イメージの強調は次の 3 つの手順で構成されます。

  • 手順 1: 低光量イメージを反転する。

  • 手順 2: かすみ低減アルゴリズムを反転した低光量イメージに適用する。

  • 手順 3: 強調されたイメージを反転する。

かすみ低減アルゴリズムを使用した低光量イメージの強調

低光量の下で撮影した RGB イメージをインポートします。

A = imread('lowlight_11.jpg');
figure, imshow(A);

イメージを反転します。元のイメージの低光量領域がどのようにかすむのかを確認してください。

AInv = imcomplement(A);
figure, imshow(AInv);

関数 imreducehaze を使用してかすみを低減します。

BInv = imreducehaze(AInv);
figure, imshow(BInv);

結果を反転して、強調したイメージを取得します。

B = imcomplement(BInv);

元のイメージと強調されたイメージを並べて表示します。

figure, montage({A, B});

imreducehaze オプション パラメーターを使用した結果の改良

さらに良い結果を得るためには、反転したイメージで再び imreducehaze を呼び出します。このとき一部のオプション パラメーターを指定します。

BInv = imreducehaze(AInv, 'Method','approx','ContrastEnhancement','boost');
BImp = imcomplement(BInv);
figure, montage({A, BImp});

低光量イメージを改良するための別の例

低光量の下で撮影した RGB イメージをインポートします。

A = imread('lowlight_21.jpg');

イメージを反転します。

AInv = imcomplement(A);

かすみ低減アルゴリズムを適用します。

BInv = imreducehaze(AInv, 'ContrastEnhancement', 'none');

結果を反転します。

B = imcomplement(BInv);

元のイメージと強調されたイメージを並べて表示します。

figure, montage({A, B});

異なる色空間を使用した色の歪みの低減

入力イメージを RGB 色空間から L*a*b* 色空間に変換します。

Lab = rgb2lab(A);

L*a*b* イメージを反転します。

LInv = imcomplement(Lab(:,:,1) ./ 100);

関数 imreducehaze を使用して反転イメージのかすみを低減します。

LEnh = imcomplement(imreducehaze(LInv,'ContrastEnhancement','none'));

彩度を増やします。

LabEnh(:,:,1)   = LEnh .* 100;
LabEnh(:,:,2:3) = Lab(:,:,2:3) * 2; % Increase saturation

イメージを RGB イメージに変換し直して、元のイメージと強調されたイメージを並べて表示します。

AEnh = lab2rgb(LabEnh);
figure, montage({A, AEnh});

ノイズ除去を使用した結果の向上

低光量イメージはノイズ レベルが高い可能性があります。低光量イメージを強調すると、このノイズ レベルも高くなります。ノイズ除去を、後処理ステップで利用することができます。

関数 imguidedfilter を使用して、強調イメージからノイズを除去します。

B = imguidedfilter(BImp);
figure, montage({BImp, B});

照度マップの推定

低光量の下で撮影した RGB イメージをインポートします。

A = imread('lowlight_21.jpg');

イメージを反転します。

AInv = imcomplement(A);

イメージにかすみ低減アルゴリズムを適用します。

[BInv, TInv] = imreducehaze(AInv, 'Method', 'approxdcp', 'ContrastEnhancement', 'none');

強調イメージを反転します。

T = imcomplement(TInv);

推定された照度マップの横に元のイメージをフォールス カラーで表示します。

figure,
subplot(1,2,1);
imshow(A), title('Lowlight Image');
subplot(1,2,2);
imshow(T), title('Illumination Map');
colormap(gca, hot(256));

制限

この手法では細部の特徴が失われる、つまり低光量条件で暗いチャネルの適応が十分ではないため過度に強調されることがあります。

参考文献

Dong, Xuan, et al. "Fast efficient algorithm for enhancement of low lighting video."Multimedia and Expo (ICME), 2011 IEEE International Conference on.IEEE, 2011.

参照

[1] Dong, X., G. Wang, Y. Pang, W. Li, J. Wen, W. Meng, and Y. Lu. "Fast efficient algorithm for enhancement of low lighting video." Proceedings of IEEE® International Conference on Multimedia and Expo (ICME). 2011, pp. 1–6.

参考

| | | |