1

OpenCV を使用して、事前にワープされた一連の画像をブレンドしています。入力として、いくつかの 4 チャンネル画像 (*.png または *.tif) があり、そこから bgr 画像と、画像に関連する領域 (白) と背景 (黒) を持つアルファ マスクを抽出できます。image と mask はどちらも Blender モジュールの入力ですcv::detail::Blender::blend

フェザー (アルファ) ブレンディングを使用すると、結果は問題ありませんが、ゴースト効果は避けたいと思います。マルチバンドを使用すると、画像の端にいくつかのアーティファクトが表示されます。

ここに画像の説明を入力

この問題は、ここで提起されたものと同様であり、ここで解決されます。問題は、ソリューションがバイナリ マスク (アルファ チャネルから既に抽出したもの) を作成している場合、それはうまくいきません。両方の画像間のオーバーラップにパディングを追加すると、背景からピクセルが取り出され、結果がさらに台無しになります。

ガウス ピラミッドとラプラシアン ピラミッドを作成するためのぼかしは、正のアルファ領域だけでなく、画像全体に適用される可能性があるため、おそらく関数pyrUpとに関係していると思います。pyrDownいずれにせよ、これらの関数を使用して問題を解決する方法がわかりません。また、別の効率的な解決策を見つけることもできません。

マルチ解像度ブレンディングの別の実装を使用すると、完全に機能しますが、OpenCV のマルチバンド実装を統合することに非常に興味があります。この問題を解決する方法はありますか?

4

1 に答える 1

1

問題はすでに報告され、ここで解決されています:

http://answers.opencv.org/question/89028/blending-artifacts-in-opencv-image-stitching/

于 2016-03-16T23:05:57.523 に答える