Filter löschen
Filter löschen

画像を指定したサイズにトリミング

15 Ansichten (letzte 30 Tage)
宗樹 岡本
宗樹 岡本 am 5 Jun. 2023
Kommentiert: 宗樹 岡本 am 6 Jun. 2023
I = imread("a.jpg");
h1 = drawrectangle('Position',[988,0.500000000000171,3999,3999]);
roi1 = h1.Position;
imgtriming= imcrop(img,roi1);
figure;imshow(imgtriming,"Border","tight");
print(指定したフォルダ)
指定したサイズにトリミングした画像をフォルダ内に保存したいです。 [ファイル] メニューの [名前を付けて保存] ダイアログ ボックスで得られる結果と同様のものをプログラムによって作りたいと考えています。
現状↓
上記のコードを使って指定した範囲内を4000×4000にトリミングします。その後printによって作製した画像をフォルダ内に保存します。
しかし,printで保存した場合余計な余白ができてしまいました。この問題を解決するためにimshowのオプションBorder","tight"で余白を消しましたが、今度は4000×4000のサイズの画像が拡大されて余白を含めた7000×7000のサイズの画像が作製されてしまいした。
この問題を解決したいです。ご教授よろしくお願いいたします。

Akzeptierte Antwort

Atsushi Ueno
Atsushi Ueno am 5 Jun. 2023
>この問題を解決したいです ⇒ 余白の問題は、imwrite関数やexportgraphics関数を使う事で解消します。
I = imread("a.jpg"); imshow(I); % imshowを追加
h1 = drawrectangle('Position',[988,0.500000000000171,3999,3999]);
roi1 = h1.Position;
imgtriming= imcrop(img,roi1);
figure;imshow(imgtriming,"Border","tight");
[file,path] = uiputfile % [名前を付けて保存] ダイアログ ボックスと同様
imwrite(imgtriming,[path filesep file]); % print(指定したフォルダ)
  1 Kommentar
宗樹 岡本
宗樹 岡本 am 6 Jun. 2023
ご教授ありがとうございました。非常に勉強になります。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!