MATLAB--数字图像处理 图像的采样与量化

简介: MATLAB--数字图像处理 图像的采样与量化

实验题目

    1.对于给定图片,在MATLAB软件下编程实现对图片的不同程度的采样。
    2.对于给定图片,在MATLAB软件下编程实现对图片的不同程度的量化。

实验原理

1.采样
    我们获取到的图像一般为模拟图像,要让计算机进行处理需将其数字化,采样的作用就是将模拟图像转变为数字图像。一般来说,采样间隔越大,所得图像像素数越少,空间分辨率越低,质量差,严重时出现马赛克效应;采样间隔越小,所得图像像素数越多,空间分辨率越高,图像质量好,但数据量大。
2.量化
    计算机软件得到了一个样本点(图片)的数据,然后它要用多少个二进制位去表示它(重现图片),如下图
在这里插入图片描述
根据上图,可以知道图像有一个灰度的概念
1bit 只有 2 个灰度级,0 和 1
2bit 有 4 个灰度级,0, 1, 2, 3
8bit 有 256 个灰度级,0 到 255

实验代码

1.采样

t=imread('t1.jpg')
t1=rgb2gray(t)
imshow(t1),title('原图') %原图像 需要将其先转换为灰度图像
t2=t1(1:2:end,1:2:end)
t3=t1(1:4:end,1:4:end)
t4=t1(1:8:end,1:8:end)
t5=t1(1:16:end,1:16:end)
figure,subplot(2,2,1),imshow(t2),title('1:2采样')
subplot(2,2,2),imshow(t3),title('1:4采样')
subplot(2,2,3),imshow(t4),title('1:8采样')
subplot(2,2,4),imshow(t5),title('1:16采样')

2.量化

t=imread('t1.jpg');
r=imread('t1.png');
t1=rgb2gray(t);
r1=rgb2gray(r);
t2=histeq(t1,64);
t3=histeq(t1,32);
t4=histeq(t1,16);
t5=histeq(t1,2);
r2=histeq(r1,64);
r3=histeq(r1,32);
r4=histeq(r1,16);
r5=histeq(r1,2);
imshow(t1);
figure,subplot(2,2,1),imshow(t2),title('量化 64')
subplot(2,2,2),imshow(t3),title('量化 32')
subplot(2,2,3),imshow(t4),title('量化 16')
subplot(2,2,4),imshow(t5),title('量化 2')
figure,imshow(r1)
figure,subplot(2,2,1),imshow(r2),title('量化 64')
subplot(2,2,2),imshow(r3),title('量化 32')
subplot(2,2,3),imshow(r4),title('量化 16')
subplot(2,2,4),imshow(r5),title('量化 2')

实验结果图

原图
在这里插入图片描述
采样对比图
在这里插入图片描述
采样分析:
    对于同样一副图像,不同的采样比例,所得的结果图是不一样的。拿采样比例1:2来说,意思是:对于原图像,每个2个像素点进行采样,采样图像与原图像差别不大。当采样比例为1:4和1:8时,采样所得的图像开始出现模糊。当采样比例达到1:16时,图像已经完全模糊掉了。这是因为对于原图像,1:16的比例只能获得原图像很少的特征点,很多像素点都被丢失了,所以看起来模糊。

原图
在这里插入图片描述
量化对比图
在这里插入图片描述
量化分析:
    其实量化的本质就是对0~255个灰度级进行分级,每个级用一个灰度值来表示。级数越多,其越接近原图像。当级数只有2时,会被分成0和255,也就是我们所说的黑白图像了。

目录
相关文章
|
5月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
549 0
|
6月前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
349 8
|
5月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
578 0
|
5月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
193 0
|
6月前
|
异构计算
基于MATLAB的NSCT(非下采样轮廓波变换)实现
基于MATLAB的NSCT(非下采样轮廓波变换)实现
218 5
|
5月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
319 8
|
6月前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
245 2
|
6月前
|
机器学习/深度学习 数据采集 边缘计算
【非侵入式负载监测】低采样率电动汽车充电的无训练非侵入式负载监测(Matlab代码实现)
【非侵入式负载监测】低采样率电动汽车充电的无训练非侵入式负载监测(Matlab代码实现)
126 6
|
6月前
|
机器学习/深度学习 编解码 算法
【图像处理】图像的边缘检测(Matlab代码实现)
【图像处理】图像的边缘检测(Matlab代码实现)
358 1
|
6月前
|
传感器 机器学习/深度学习 编解码
使用显著性检测的可见光和红外图像的两尺度图像融合(Matlab代码实现)
使用显著性检测的可见光和红外图像的两尺度图像融合(Matlab代码实现)
233 3

热门文章

最新文章