matlab web app serverにてfigureが使えない時の対処法
1 view (last 30 days)
Show older comments
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 Comments
Accepted Answer
Kojiro Saito
on 19 Dec 2022
ドキュメントの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 Comments
More Answers (0)
See Also
Categories
Find more on Web アプリ in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!