5

Imageのマトリックスがあるとしましょうuint16

基本的に、各ピクセルの範囲は0から65535です。

この画像をimshow(Image)何レベルの灰色のMatlabで表示すると、レンダリングされますか?

標準255レベル(したがって、暗黙的に画像をuint8に変換します)?
(カラーマップを変更できることはわかっていますが、グレーレベルの数だけを知りたいことに注意してください)

4

3 に答える 3

7

カラーマップのサイズは、Matlabが表示しようとしている色(この場合はグレーレベル)の数を示します。

numGrayLevels = size(get(gcf,'Colormap'),1)

ほとんどのモニターは8ビットのグレーしかサポートしていないことに注意してください。また、ディスプレイの品質とキャリブレーションによっては、それよりはるかに少ない値が表示される場合があります。

于 2013-02-11T14:14:26.427 に答える
5

これはそれよりも複雑な答えになる可能性があります。現在、ほとんどのコンピューターは256階調のグレーしか表示できません。

MATLABは、それ以上のことはできません。ただし、疑似カラースキームを使用すると、MATLABでピクセルあたり16ビット全体を表現できる場合があります。その場合、カラースケールで選択した65535色以上が表示されます。

于 2013-02-11T14:19:56.583 に答える
0

Matlabによって制限が適用されるとは思いません。RGBおよびHSVカラー値も2倍にすることができます。これにより、「ほぼ無限」の数のカラー(およびグレー)が得られます。

プロットウィンドウはJavaで実行されます。そこでは、色を4つのフロートで定義できます(「」を参照)。ハードウェアが処理できるよりも多くの色を残します。

ヘルプの状態:

レンダリングで使用される実際の色は、特定の出力デバイスで使用可能な色空間を考慮して、最適な色を見つけるかどうかによって異なります。

したがって、最終的にはハードウェアに依存するようです。

于 2013-02-11T14:19:47.827 に答える