Matlabでのバーチャルな写真の撮影について

1 visualización (últimos 30 días)
Seiichiro
Seiichiro el 30 de Ag. de 2020
Editada: Seiichiro el 31 de Ag. de 2020
一般論としてカメラで撮影した画像やビデオ動画のシミュレーションを行えたらと思っています。
そのために最適なツールボックスを教えていただけたらと思っています。image ,vision関係のツールボックスは使っておりますがそれらの範囲でできるのかどうか。またsimulink animationなどを使いこなせれば大丈夫なのかもしれませんが、simulink 自体になれていなくて、関連するツールボックスもいろいろとありそうなので使いこなせるかどうかと思っています。
手始めにチェッッカーボードをテーブルに置いた状況を想定していろいろな角度で撮った結果を、通常の3D描画で作っていますが、グラフの軸のスケールが実際の縮尺にではなく、Figureのサイズにあわせてフィットしてしまうため、これをカメラから撮影したように対象物のスケールを変えずに描画してjpgファイルに修めたいとおもっています。よい方法があれば教えてくください。現状のプログラムの描画・保存部分を添付します。
% 初期化
figure(1)
clf
set(gcf,'Position',[400 350 1200 720])
% 床
surface('XData',Xf, 'YData',Yf, 'ZData',Zf,...
'EdgeColor','none', 'FaceColor','flat');
% 背景
surface('XData',Xg, 'YData',Yg, 'ZData',Zg-0, ...
'CData',IMG1, 'CDataMapping','direct', ...
'EdgeColor','none', 'FaceColor','texturemap')
% チェッカーボード
surface('XData',Xcb, 'YData',Ycb, 'ZData',Zcb-0, ...
'CData',cbwb, 'CDataMapping','direct', ...
'EdgeColor','none', 'FaceColor','texturemap')
% 軸の設定
axis equal
xlim([0 1000]);ylim([0 1000]);zlim([0 1000]);
xlabel('X');ylabel('Y');zlabel('Z');
grid on
ax=gca;
set(ax,'PositionConstraint','innerposition');%'outerposition');% | 'innerposition'
% カメラの設定
campos(xyzCamePosi)
% ライトの設定
h = light;
az=0;el=45;
lightangle(h,az,el)
shading interp
material default
truesize
% 画像ファイルに保存
if isdir(dir_results),
else
mkdir(dir_results);
end
fn_jpg=sprintf('Img_%d',Np+iip);
print(gcf,[dir_results fn_jpg],'-djpeg'

Respuesta aceptada

J. Alex Lee
J. Alex Lee el 30 de Ag. de 2020
ax.DataAspectRatio = [1,1,1]
also
ax.Projection = "perspective"
and various other "camera"-related properties like: cameraviewangle, cameraposition, cameratarget, cameraupvector
  1 comentario
Seiichiro
Seiichiro el 31 de Ag. de 2020
Editada: Seiichiro el 31 de Ag. de 2020
Thank you so much!!
Your advice has improved my figure drastically.
I must keep to improve my code still, but now I realized what I should do.
Thank you so much for your kindness.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by