画像をパディングし正方形にする方法
12 views (last 30 days)
Show older comments
深層学習によるX線画像の二値分類を行なっております。
様々なサイズのX線画像があり、全ての画像を長径の長さの正方形にゼロパディングした後、224×224に縮小したいです。
何か方法はありますでしょうか。
0 Comments
Accepted Answer
Akira Agata
on 6 Oct 2022
Edited: Akira Agata
on 6 Oct 2022
% サンプル画像 (1000×200ピクセル)
I_in = randi(255, [1000 200], "uint8");
% 縦横のピクセル数とその差を取得
sz = size(I_in);
d = abs(diff(sz));
% 縦横のうち短いほうに対して、両側に d/2 だけゼロパディング(※)
if sz(1) < sz(2)
I_pad = padarray(I_in, [round(d/2), 0], 0, "both");
else
I_pad = padarray(I_in, [0, round(d/2)], 0, "both");
end
% 全体を 224×224 にリサイズ
I_out = imresize(I_pad, [224, 224]);
※厳密には、縦横のピクセル数の差が奇数の場合にはどちらか片側のパディング幅を round(d/2)-1 にする必要があります。
More Answers (0)
See Also
Categories
Find more on Pattern Recognition and Classification 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!