图像处理的采样与量化

参考文章:https://blog.csdn.net/zqhwando/article/details/78871140

通俗的讲,采样就是把一幅连续图像在空间上分割成M×N个网格,每个网格用一亮度值来表示。量化是将连续变化区间转换为单个特定数码的过程。

在此使用MATLAB对原图像进行采样处理,对选取原图像的部分像素点重新组成新的一幅图像

a = imread('picture/lena.JPG');
b = rgb2gray(a);
[wid,hei]=size(b);
%4倍采样
quartimg = zeros(wid/2+1,hei/2+1);
i1 = 1;
j1 = 1;
for i=1:2:wid
 for j=1:2:hei  
 quartimg(i1,j1) = b(i,j);
 j1 = j1 + 1;
 end
 i1 = i1 + 1;
 j1 = 1;
end
figure  %窗口程序
imshow(uint8(quartimg))
%16 倍减采样
quartimg = zeros(wid/4+1,hei/4+1);
i1 = 1;
j1 = 1;
for i=1:4:wid
 for j=1:4:hei
 quartimg(i1,j1) = b(i,j); 
 j1 = j1 + 1;
 end
 i1 = i1 + 1;
 j1 = 1;
end
figure
imshow(uint8(quartimg)) 

从运行结果看到,下图左侧为4倍采样,右侧为16倍采样:

图像处理的采样与量化_第1张图片图像处理的采样与量化_第2张图片

使用MATLAB对图像灰度级进行改变

a = imread('picture/lena.jpg');
b = rgb2gray(a);%改为灰度图像
figure
imshow(b)
[wid,hei]=size(b);
img64 = zeros(wid,hei);
img32 = zeros(wid,hei);
img8 = zeros(wid,hei);
img2 = zeros(wid,hei);
for i=1:wid
 for j=1:hei
 img64(i,j) = floor(b(i,j)/4);  %floor不超过x的最大整数
 end
end
figure
imshow(uint8(img64),[0,63])
for i=1:wid
 for j=1:hei
 img32(i,j) = floor(b(i,j)/8);
 end
end
figure
imshow(uint8(img32),[0,31])
for i=1:wid
 for j=1:hei
 img8(i,j) = floor(b(i,j)/32);
 end
end
figure
imshow(uint8(img8),[0,7])
for i=1:wid
 for j=1:hei
 img2(i,j) = floor(b(i,j)/128);
 end
end
figure
imshow(uint8(img8),[0,2]) 

运行结果可以看出灰度级越高图片越清晰

图像处理的采样与量化_第3张图片图像处理的采样与量化_第4张图片图像处理的采样与量化_第5张图片图像处理的采样与量化_第6张图片

 

图像处理的采样与量化_第7张图片

你可能感兴趣的:(数字图像处理,图像处理)