1

私は望遠鏡プロジェクトに取り組んでおり、CCD をテストしています。写真を撮るときはいつでも、わずかにピンク色がかっており、銀河のオブジェクトを正しく画像化するには真の色が必要です。色の重みを変更するために Python または Java で小さなプログラムを作成する予定ですが、生データ ファイル (rgb.bin) の色の重みにアクセスするにはどうすればよいですか?

モノクロ ファイルをカラー ファイルに変換するためにベイヤー マトリックス アルゴリズムを使用しています。そこから問題が発生していると思いますが、小さな色補正プログラムで修正したいと考えています。

ありがとう!

4

4 に答える 4

3

一般的なホワイトバランスの問題は、シーンを照らす光の構成における赤、緑、青の比率の違い、またはこれらの色に対するセンサーの感度の違いによって引き起こされます。これらのエラーは一般に線形であるため、エラーの逆数を掛けて修正します。

完全に白であると予想されるポイントを測定し、そのRGB値が(248,237,236)、つまりピンクであるとします。画像の各ピクセルに(248 / 248,248 / 237,248 / 236)を掛けると、正しいバランスになります。

最初にベイヤーフィルターが適切な結果を生成していることを確実に確認する必要があります。そうしないと、線形エラーの基本的な仮定が正しくなくなります。

于 2012-05-29T22:10:57.517 に答える
1

Python Imaging Library (PIL)を確認してください。さまざまな形式の画像を読み込んで、その色の値にアクセスできるようにします。

私はrgb.bin画像形式に精通していませんが、「重み」が単にさまざまな RGB タイプの値を調整することを意味する場合、PIL を調べる価値があるかもしれません ( PIL ドキュメント pdf )

PIL は Python v2.7 まで公式にサポートされていることに注意してください (ウェルカム ページには v2.6 と記載されていますが、実際には v2.7 です - ダウンロード ページを参照してください)。ただし、Python v3 用の PIL の非公式バージョンがあります。 .x は 、Python 拡張パッケージの非公式 Windows バイナリサイトから入手できます。

于 2012-05-29T19:39:54.793 に答える
1

Java での画像処理にはいくつかの便利な機能があります。BufferedImageクラスを使用してみてください。一般的な形式で画像を開きBufferedImage、各ピクセルの色またはグレーレベルにアクセスするために使用できる Javadoc へのリンクをここに残します。

バッファリングされた画像

私はパイソンを知りません。

お役に立てれば!

于 2012-05-29T19:34:41.600 に答える
1

画像に色かぶり (ピンクの色合い) がある場合、それを修正するための写真家のアプローチは、画像のホワイト バランスを調整することです。

自動ホワイト バランス補正アルゴリズムの実装については、ここで良い議論があります:ホワイト バランス アルゴリズム

バイナリ RGB 値を含むファイルを既に生成しているので、これをデータ構造に再解析してさらに処理できると思います。RGB ピクセルをバッファーに格納したら、それらを HSB (色相、彩度、明るさ) に相当するものに変換する必要があります。これは、画像の色合いを変更することは、基本的に各ピクセルの色相に対するグローバルな操作であるためです。Java Colorクラスには、HSB<->RGB 変換を実行するためのメソッドが含まれています。

于 2012-05-29T20:56:54.237 に答える