【图像压缩】基于离散余弦变换DCT图像压缩(含PNSR压缩比)附Matlab代码

 ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,

代码获取、论文复现及科研仿真合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab完整代码及仿真定制内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

🔥 内容介绍

图像压缩是数字图像处理中的重要技术,它可以有效地减小图像文件的大小,从而节省存储空间和传输带宽。在图像压缩的过程中,离散余弦变换(DCT)是一种常用的方法,它可以将图像转换为频域表示,进而实现压缩。本文将介绍基于DCT的图像压缩方法,并探讨其压缩比和峰值信噪比(PNSR)的相关性。

首先,我们来了解一下离散余弦变换。DCT是一种广泛应用于信号处理和图像压缩中的变换方法,它将一个信号或图像分解为不同频率的成分。在DCT中,图像被分割成8x8的小块,每个小块都会进行DCT变换。通过DCT变换,图像中的能量集中在少量的频率分量上,这为压缩提供了可能。

基于DCT的图像压缩方法通常包括以下步骤:首先,将图像分割成8x8的小块;然后,对每个小块进行DCT变换;接着,利用量化表对DCT系数进行量化;最后,使用熵编码对量化后的系数进行编码。通过这些步骤,可以大大减小图像文件的大小,实现图像的压缩。

在图像压缩的过程中,压缩比和PNSR是两个重要的评价指标。压缩比指的是压缩前后图像文件大小的比值,它可以反映压缩效果的好坏。通常情况下,压缩比越大,表示压缩效果越好。而PNSR是衡量压缩后图像质量损失的指标,它可以通过计算原始图像和压缩后图像之间的均方误差来得到。一般来说,PNSR的数值越大,表示图像质量损失越小。

通过实验我们可以发现,压缩比和PNSR之间存在一定的关系。通常情况下,随着压缩比的增大,PNSR会逐渐减小,即图像的质量会逐渐下降。这是因为在压缩过程中,为了减小图像文件的大小,会对图像的信息进行丢失或者量化,从而导致图像质量的损失。因此,在实际应用中,需要根据具体的需求和场景来平衡压缩比和图像质量。

总之,基于离散余弦变换的图像压缩是一种常用的压缩方法,它可以有效地减小图像文件的大小,节省存储空间和传输带宽。在压缩过程中,压缩比和PNSR是两个重要的评价指标,它们之间存在一定的关系。在实际应用中,需要根据具体的需求来选择合适的压缩参数,以实现最佳的压缩效果。​

📣 部分代码

%% 将图像sunflower.jpg划分为8×8块。 计算每个块的DCT。 保留每个块中最高DCT系数的前25%(相对于幅度最高),并将其他系数设置为零。 对每个块进行逆DCT,然后显示重建的图像。 计算重建误差。 clear all;clc;%%%loading input imageimg = imread('data\img (1).jpg');img = rgb2gray(img);[p,q]=size(img);%computing dct for 8x8 blocksfor i=1:p/8    for j=1:q/8        coeffs = dct2(img(8*(i-1)+1:8*i,8*(j-1)+1:8*j));        %retaining only top 25% co-efficients by magnitude        coeffs_flatten = reshape(coeffs,[],1);        [val,ind]=sort(abs(coeffs_flatten),'descend');        coeffs(ind(17:end))=0;        %reconstructing image with most important information        reconstructed_img(8*(i-1)+1:8*i,8*(j-1)+1:8*j)=idct2(coeffs);    endend%plotting figuresfigure()imshow(img), title('原图');reconstructed_img=uint8(reconstructed_img);figure()imshow(reconstructed_img), title('重建图像');imwrite(reconstructed_img,'recontructed_dct.jpg');figure()%diff between reconstructed and original image%the error image is scaled appropriately for proper visualizationerr_img=(int8(reconstructed_img)-int8(img));imshow(8*err_img)%euclidean reconstruction errorerr=norm(double(reconstructed_img-img))

⛳️ 运行结果

🔗 参考文献

本程序参考以下中文EI期刊,程序注释清晰,干货满满。

[1] 罗云,谢斌盛.基于MATLAB的无线传感器网络的低功耗仿真[J].信息系统工程, 2015(6):2.DOI:10.3969/j.issn.1001-2362.2015.06.012.

[2] 余秋菊.基于DCT变换的JPEG图像压缩及其MATLAB实现[J].科技信息:学术研究, 2008, 000(036):566-567.DOI:CNKI:SUN:KJXI.0.2008-36-467.

🎈 部分理论引用网络文献,若有侵权联系博主删除
🎁  关注我领取海量matlab电子书和数学建模资料

👇  私信完整代码、论文复现、期刊合作、论文辅导及科研仿真定制

1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
4 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化
5 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
6 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
7 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
8 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
9 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值