• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:matlabでsurfに写真の絵をのせる方法。)

Matlabで写真の絵をのせる方法

このQ&Aのポイント
  • Matlabでsurfに写真の画像をのせる方法を教えてください。
  • 現在、RGBのデータを変換してsurfで出力していますが、色が近くなりません。
  • 他の方法で同じような画像を載せる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • sgwjn
  • ベストアンサー率70% (47/67)
回答No.2

■質問  > 色が全く近くなりません ■#1  > 荒いデータになってしまう どっちでしょうか? 荒くなっているだけであれば、surfaceで以下のプロパティを指定してみると良いかもしれませんね。  'FaceColor', 'texturemap'  'EdgeColor', 'none'  'CDataMapping', 'direct' 詳しくは↓を参照してください。 http://sauron.civil.eng.osaka-cu.ac.jp/~mori/computer/manual_matlab/r13/jhelp/techdoc/ref/surface.html

kou1495
質問者

お礼

返答有難うございます. 問題は解決いたしました、 ページを見て  'FaceColor', 'texturemap' は指示していたのですが  'CDataMapping', 'direct' を指示していなかった事が大きな原因だったもようです 本当にありがとうございました

その他の回答 (1)

  • sgwjn
  • ベストアンサー率70% (47/67)
回答No.1

hutaがどういうデータなのか知りませんが、surf()を使う場合は、  surf(z)    z=X  surf(x,y,z)  z=X  surf(x,y,z,c) c=X あたりのどれかにしなければ上手く行かないんじゃないでしょうか? 詳しくは下記URLを参照してください。 http://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/matlab/ref/?/matlab/support/manual/r13/toolbox/matlab/ref/surf.shtml

kou1495
質問者

お礼

回答ありがとうございます。 しかしhutaに三次元データを仕込んでいるので範囲指定をしなくてもsurf(huta,X)でd=size(huta);surf(1:d(1),1:d(2),huta,X)と、同等のデータが出力される事は確認しました。 そのために行いたいのは、image(X);colormap(map);では元のデータが取れているのに、それをsurfに貼付けようとすると、荒いデータになってしまうのが問題のため その解決策が今求めている物です。