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

9 次查看(过去 30 天)
隆人 山田
隆人 山田 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 CenterFile Exchange 中查找有关 Read, Write, and Modify Image 的更多信息

Community Treasure Hunt

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

Start Hunting!