采样函数:

function [sampled_img] = sample(img, factor)
% img:输入的灰度图像矩阵
% factor:采样因子
% sampled_img:采样后的图像矩阵

[m, n] = size(img);
m_sampled = ceil(m / factor);
n_sampled = ceil(n / factor);
sampled_img = zeros(m_sampled, n_sampled);

for i = 1:m_sampled
    for j = 1:n_sampled
        row = (i - 1) * factor + 1;
        col = (j - 1) * factor + 1;
        sampled_img(i, j) = img(row, col);
    end
end

end

量化函数:

function [quantized_img] = quantize(img, levels)
% img:输入的灰度图像矩阵
% levels:量化级别数
% quantized_img:量化后的图像矩阵

[m, n] = size(img);
quantized_img = zeros(m, n);

step = 256 / levels;

for i = 1:m
    for j = 1:n
        quantized_img(i, j) = floor(img(i, j) / step) * step;
    end
end

end
matlab对于一幅灰度图的采样和量化函数

原文地址: https://www.cveoy.top/t/topic/b18k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录