提供一个matlab代码实现将1张图片分成500张并保存
时间: 2023-02-07 22:50:02 浏览: 258
在 Matlab 中,可以使用以下代码来实现将一张图片分成 500 张并保存:
```
% 读入图片
img = imread('image.jpg');
% 获取图片的行数和列数
[row, col, ~] = size(img);
% 计算每张小图片的行数和列数
rowsPerSmallImg = row / sqrt(500);
colsPerSmallImg = col / sqrt(500);
% 循环分割并保存图片
for i = 1:sqrt(500)
for j = 1:sqrt(500)
% 计算当前小图片的起始行和起始列
rowStart = (i - 1) * rowsPerSmallImg + 1;
rowEnd = i * rowsPerSmallImg;
colStart = (j - 1) * colsPerSmallImg + 1;
colEnd = j * colsPerSmallImg;
% 分割并保存当前小图片
smallImg = img(rowStart:rowEnd, colStart:colEnd, :);
imwrite(smallImg, sprintf('smallImg_%d_%d.jpg', i, j));
end
end
```
在上面的代码中,`image.jpg` 是要分割的图片的文件名。小图片会按照从左到右,从上到下的顺序命名为 `smallImg_1_1.jpg`、`smallImg_1_2.jpg`、……、`smallImg_sqrt(500)_sqrt(500)`。
希望这能帮到你!
阅读全文