matlab web app serverにてfigureが使えない時の対処法
2 ビュー (過去 30 日間)
古いコメントを表示
matlab web app serverにapp desingerを用いて作ったアプリをデプロイしました。
ただ、web app serverでは複数ウィンドウのアプリに対応していないということを知りました。
figureを用いてincropを使っていたりしますが、この場合はどうすればfigureを使わずに、incropが使えるのでしょうか。
rgb = imread(filename);
figure('Name','元画像','NumberTitle','off');
imshow(rgb);
[croppedImg,~] = imcrop(rgb);
0 件のコメント
採用された回答
Kojiro Saito
2022 年 12 月 19 日
ドキュメントのimcrop(h)の方法が適用できます。imcropの入力引数にfigure、axes、uipanel、または image グラフィックス オブジェクトのハンドルが入れられるので、App Designerの座標軸(uiaxes)やパネル(uipanel)を指定すればFigureを使わずにクロップできます。
コールバックのサンプルです。ボタンクリック時に画像を選択し、1つ目の座標軸(app.UIAxes)に画像を表示し、imcropもこのapp.UIAxesを引数にして実行します。
function ButtonPushed(app, event)
[imgFile, imgPath] = uigetfile({'*.jpg;*.png'});
img = imread(fullfile(imgPath, imgFile));
imshow(img, 'Parent', app.UIAxes)
[croppedImg,~] = imcrop(app.UIAxes);
imshow(croppedImg, 'Parent', app.UIAxes2)
end
「共有」→「Webアプリ」で変換したCTFファイルをMATLAB Web App Serverに登録し、Webブラウザでアクセスした画面です。
imcropがuiaxesの中で実行されています。
右クリックして「イメージのトリミング」をクリックすると、クロップされた画像が右側のuiaxes (コードではapp.UIAxes2)に表示されています。
8 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Web アプリ についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!