現在、受け取った画像からグラデーションを削除する良い方法を考えるのが非常に困難です。
画像は顕微鏡カメラで撮影した写真で、真ん中に光のまぶしさがあります。画像には、画像全体に広がるパターンがあります。ただし、カメラの光によって作成された画像の光のまぶしさを取り除くことになっています。
残念ながら、カメラの性質上、グラデーション分布を見つけるために光で黒い背景に写真を撮ることはできません。また、グラデーションのない比較画像もありません。(注 - 光のまぶしさの位置は、写真を撮ったときに常に一定になります)
簡単に言えば、フラッシュが入った写真を持っているようなものですが、フラッシュを取り除きたいです。唯一の問題は、フラッシュなしで画像を取得して比較したり、フラッシュだけで黒い画像を取得したりする方法がないことです。
私の現在の考えでは、エッジ検出を行い、エッジから離れた特定の場所でサンプルを取得し (色の違いによる)、それを使用してグラデーションの分布を測定します。これらの領域は比較的同じ色であると想定されているためです。しかし、これを行うためのより簡単でより良い方法があるかどうか疑問に思っていました。
必要に応じて、後で画像の例を投稿します。
現時点では、opencv を使用して c++ でこれを解決することを好みます。
この問題について考えられるアイデアを事前に感謝します。私の問題を解決する可能性のある別のリンク、チュートリアル、または投稿がある場合は、投稿をいただければ幸いです。
あなたが言うことができるように、白い点からわかるように、img で照らされている光があります。楕円形の内側の色は、写真をカラーで撮影すると実際には異なります。ただし、ボックスと楕円の間の色は一貫している必要があります。私の最初のアイデアは、おそらくそれらの領域のみを何らかの方法でサンプリングし、光を除去するために利用できるプロファイルを構築することでしたが、それがどれほど効果的か、またはより良い方法があるかどうかはわかりません
編集 :
ロジャーの提案を試してみたところ、驚くほど良い結果が得られました。110 カーネル ガウス ブラーを使用してイルミネーションを検出し、その上で CLAHE を実行します。(両方ともopencvで行われます)
しかし、私の同僚は、画像が完全に均一に見えないことを教えてくれ、以前は光があった領域の周りが少し明るくなったと指摘しました. 彼は、特定のしきい値ピクセル値を超える領域がぼやけず、画像の残りの部分がぼやける、選択的ガウスぼかしを試すことを提案しました。
これについて意見を持っている人はいますか?おそらくリンク、チュートリアル、またはこのようなことが行われている例はありますか? 私が見つけたもののほとんどは、Photoshop や gimp などのプログラムの選択的なぼかしである傾向があります
EDIT2:
肉眼で判断するのは難しいですが、単純な平面フィッティング アルゴリズムを使用することで、比較的近い均一化を実現できたと思います ((-A * x - B * y) / C) (x,y,z) ここで、z はピクセル値。これはサインフィッティング機能を利用することで改善できるのではないでしょうか?私は確信が持てません。しかし、結果には比較的満足しています。素晴らしいアイデアをくれたロジャーに感謝します。
たくさんの写真を使用して平均を取得することも別の良い方法だったと思います(ロジャーが提案)が、さまざまな写真が提供されておらず、マシンが変更中であるため、残念ながらこれを実装できませんでした。それを使用する。