用MATLAB利用均值法,将彩色图片实现4倍降采样的具体代码
时间: 2024-06-10 07:08:35 浏览: 222
decimator.zip_matlab例程_Others_
对于彩色图片的4倍降采样,可以使用均值法来实现。具体的MATLAB代码如下:
```matlab
% 读取原始彩色图片
img = imread('input_image.jpg');
% 获取图片尺寸
[height, width, ~] = size(img);
% 计算降采样后的尺寸
new_height = floor(height / 2);
new_width = floor(width / 2);
% 初始化降采样后的图片
downsampled_img = uint8(zeros(new_height, new_width, 3));
% 对每个像素块进行均值计算
for i = 1:new_height
for j = 1:new_width
% 计算当前像素块的起始位置
start_row = (i-1) * 2 + 1;
start_col = (j-1) * 2 + 1;
% 计算当前像素块的结束位置
end_row = start_row + 1;
end_col = start_col + 1;
% 提取当前像素块
pixel_block = double(img(start_row:end_row, start_col:end_col, :));
% 计算均值
avg_value = mean(pixel_block(:));
% 更新降采样后的图片
downsampled_img(i, j, :) = uint8(avg_value);
end
end
% 显示降采样后的图片
imshow(downsampled_img);
```
阅读全文