私は画像スティッチングプロジェクトに取り組んでいますが、画像のコントラストと明るさを処理するためのさまざまなアプローチがあることを理解しています。もちろん、画像をステッチする前にこの問題に対処することはできましたが、それでも結果は期待したほど一貫していません。だから私の質問は、ステッチが行われた後、カラー写真のコントラストと明るさを「バランスをとる」またはむしろ「均等にする」ことが可能かどうかということです。
2 に答える
OpenCVが提供するExposureCompensatorクラスを確認することをお勧めします。
露出補正は3つのステップで行われます。
露出補償器を作成する
Ptr<ExposureCompensator> compensator = ExposureCompensator::createDefault(expos_comp_type);
すべての画像を、それぞれの左上隅とともに入力します。作業する画像の特定の部分を指定しない限り、デフォルトではマスクを完全に白のままにしておくことができます。
compensator->feed(corners, images, masks);
これで、画像がどのように重なるかに関するすべての情報が得られ、各画像を個別に補正できます。
compensator->apply(image_index, corners[image_index], image, mask);
補正された画像はに保存されますimage
画像全体からではなく、それらが接触または重複するゾーンでヒストグラム均等化関数を決定したいと考えています。オーバーラップ領域に同一のヒストグラムが必要なのは明らかなので、ここで関数を計算します。次に、これを実現するイコライゼーション関数をイメージ全体に適用します。3 つ以上のステッチがある場合でも、事前に全体的な均等化を行い、次にステッチされたエッジから離れるにつれて影響を減らすオーバーラップ均等化関数の重み付けされたアプリケーションを使用する必要があります。
これがすでにあなたにとって明らかである場合は申し訳ありませんが、あなたの一般的な質問は私に一般的な答えを導きます.