Google Maps APIを使用して、同じサイズの正方形の衛星画像のシーケンスをダウンロードし、PDFを生成するスクリプトがあります。画像は事前に回転させる必要がありますが、私はすでにPILを使用しています。
光と地形の条件が異なるため、一部の画像が明るすぎたり、暗すぎたり、結果のpdfが少し醜くなり、「フィールド」(バックカントリー)での読書条件が理想的ではないことに気付きました。特定の交差点のサムネイルを印刷したいマウンテンバイク)。
(編集)その場合の目標は、すべての画像が同じような見かけの明るさとコントラストになるようにすることです。したがって、明るすぎる画像は暗くする必要があり、暗い画像は明るくする必要があります。(ちなみに、私はかつてimagemagick autocontrast
、または、、、、auto-gamma
またはそのようなものを使用し、医用画像で興味深い結果が得られましたが、PILでこれらのいずれかを行う方法がわかりません)。equalize
autolevel
グレースケールに変換した後(以前はグレースケールプリンターを使用していました)、すでにいくつかの画像補正を使用しましたが、結果も良くありませんでした。これが私のグレースケールコードです:
#!/usr/bin/python
def myEqualize(im)
im=im.convert('L')
contr = ImageEnhance.Contrast(im)
im = contr.enhance(0.3)
bright = ImageEnhance.Brightness(im)
im = bright.enhance(2)
#im.show()
return im
このコードは、画像ごとに独立して機能します。最初にすべての画像を分析してから、それらの視覚的特性(コントラスト、明るさ、ガンマなど)を「正規化」する方がよいのではないかと思います。
また、すべての画像を均等に補正するのではなく、画像ごとにカスタム補正を適用するために、画像(ヒストグラム?)で何らかの分析を行う必要があると思います(ただし、「拡張」関数は暗黙的に考慮します)初期の条件)。
誰かがそのような問題を抱えていたり、カラー画像(グレースケールなし)でこれを行うための良い代替案を知っていますか?
読んでくれてありがとう!