質問: axes上に表示した画像を傾けたい お世話になります。 axes上に、imread関数で読み込んだpng画像をimage関数を用いて表示しています。 この画像を任意の角度傾ける方法が分かりません。 リファレンスを見る限り、imrotateを使うと出来そうな気がしますが、toolboxを使わずに実装したいです。 rotate関数では思ったように傾けることができませんでした(軸に沿って回転してしまう)。
回答: axesオブジェクトで、図の真上方向を示す cameraupvector プロパティを回転させるのはいかがでしょうか? ちなみに、2次元表示での cameraupvector プロパティのデフォルト値は [0 1 0] ですが、imshowで画像を表示した場合はデフォルト値が [0 -1 0] になっていますのでご注意ください。 % load image i = imread('peppers.png'); % show the image figure imshow(i) % set rotation angle rotdeg = 20; % [deg] rotrad = deg2rad(rotdeg); % [rad] % change cameraupvector ax = gca; ax.cameraupvector = [-1*sin(rotrad), -1*cos(rotrad), 0];