0

matlabに二重行列があり、それをHSV画像に変換したいのですが、おそらく同様の二重値が同じ色で表示されます。すでにmat2grayでRGBに変換しましたが、ダブルマトリックスからhsv画像に直接変換したいと思います。出来ますか?

ありがとう

4

1 に答える 1

2

あなたは何ができるか、何をすることができるかを尋ねてimageimagescます。はい、できます。「hsv」カラーマップに補間するだけです。次のコード スニペットは、これを行う方法を示しています。値が 0 から 1 の間でスケーリングされることを前提としています。ただし、それは簡単に変更できます。

im = [0 .5 1; .7 .6 .2; .9 .3 .4];
cm = colormap('hsv');
cdata = interp1(linspace(0,1,length(cm)),cm,im);
figure;image(cdata)

cdata(row x col x 3) 行列になります。image直接使用して表示するか、そこから必要なことを実行できます。

于 2012-03-28T16:26:58.513 に答える