画像を分割したい。 I want to divide an image
13 次查看(过去 30 天)
显示 更早的评论
1枚の画像を分割して9枚や25枚にしたいのですが、どうすれば良いでしょうか?
I want to divide one image into nine or twenty-five sheets, what should I do?
回答(1 个)
lattice
2018-7-12
2重ループでカッコ悪いですが...
img = imread('/path/to/the/img.tif'); %画像の読み込み
[a, b, ~] = size(img); %画像のサイズチェック
div = 3; % 3 by 3 に分割するとして
a = round(a/div);%分割後の画像の縦
b = round(b/div);%分割後の画像の横
img(a*div, b*div, :) = 0; %3 by 3 でピッタリ割り切れないところは0で埋めておく
img2 = uint8(zeros(a, b, 3, div^2));%分割ごとに4次元の画像データとする
count = 1;
%2重ループが不恰好ですが
for i = 1:div
for j = 1:div
img2(:,:,:,count) = img((a2*(i-1)+1):i*a2, (b2*(j-1)+1):j*b2, :);
%figure, imshow(img2(:,:,:,count)); %一枚ずつ表示したいなら
count = count + 1;
end
end
でどうでしょうか?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 近傍処理とブロック処理 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!