2016-05-02 3 views
0

8ビット画像の輝度値が0〜255であるため、輝度値を0から127に変換したいと思います。javaの輝度値をマップするにはどうすればいいですか?私は、8ビットグレースケールイメージを7ビットイメージに変換するコードを書こうとしています。

+0

いくつかのコードを投稿してください。これまでに何を試しましたか?あなたはどこにいるのですか?これはあなたの問題を助けるためにここに誰かを助けるでしょう。 –

+0

ヒント:7ビットは8ビットの半分の値を持ちます。 –

+0

なぜあなたはそれをしますか?とにかく7bitの画像フォーマットはありません。あなたは何の理由もなくあなたの決断の半分を譲り渡します。 – Piglet

答えて

1

2で簡単分割!

myimage.getRaster().setSample(x, y, myimage.getRaster().getSample(x, y)/2) ; 

値は[0,127]に配信されますが、エンコードはまだバイト単位です。

+1

'getSample()'を意味し、 '>>> 1'は'/2'よりも良いかもしれないと仮定します。 – Andreas

+0

はい、愚かなコピー/ペースト。そして、 ">> 1"のためのはい、私はいつもそれを使用しますが、ほとんどの人はそれほど好きではないので、私はそれを決して使用しません。 – FiReTiTi

+1

説明:グレースケールは線形0 =黒色最大=白色です。したがって(0,1) - > 0、(2,3) - > 1、(4,5) - > 2などは、同様の明るさを1にマップします。たとえば、0〜16のすべてのアスペクトブラックの場合のように、少しのガンマ補正を考慮する可能性があります。 –

0

ちょうど各ピクセル値を2で割ってください。

+0

2分の1で除算...ありがとう... – sophie2640

関連する問題