長方形の画像(JPG​)をレターボックス処​理を行い正方形にした​いのですが、可能でし​ょうか?

7 ビュー (過去 30 日間)
隆人 山田
隆人 山田 2022 年 1 月 5 日
コメント済み: 隆人 山田 2022 年 1 月 5 日

採用された回答

Atsushi Ueno
Atsushi Ueno 2022 年 1 月 5 日
入力画像の幅・高さの内大きい方のサイズに合わせた正方形の黒い画像の中央に元画像をコピーします。
I = imread('peppers.png');
sz = size(I); % 画像の幅・高さ・色数を取得
mx = max(sz(1:2));
LtBx = uint8(zeros(mx,mx,3)); % 幅・高さの大きい方に合わせた正方形の黒画像
if sz(1) < mx % 元画像が横長の場合
top = floor((mx-sz(1)) / 2);
LtBx(top:top+sz(1)-1,:,:) = I; % 黒画像の中央に元画像をコピー
else % 元画像が縦長の場合
left = floor((mx-sz(2)) / 2);
LtBx(:,left:left+sz(2)-1,:) = I; % 黒画像の中央に元画像をコピー
end
imshow(LtBx);
  1 件のコメント
隆人 山田
隆人 山田 2022 年 1 月 5 日
できました!!
これで卒業研究が捗ります
本当にありがとうございました!!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeConvert Image Type についてさらに検索

Community Treasure Hunt

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

Start Hunting!