【图像压缩】DCT图像无损压缩【含GUI Matlab源码 726期】

本文介绍了DCT图像无损压缩的基本原理,包括图像压缩的分类、JPEG标准、二维离散余弦变换的过程。重点讨论了DCT在JPEG中的应用,以及在MATLAB中实现图像压缩的代码示例。通过DCT变换,图像能量集中在低频部分,允许丢弃高频系数以达到压缩目的。最后,文章提供了MATLAB版本和相关参考文献。
摘要由CSDN通过智能技术生成

在这里插入图片描述

⛄一、DCT图像无损压缩简介

1 图像压缩
图像压缩按照压缩过程中是否有信息的损失以及解压后与原始图像是否有误差可以分为无损压缩和有损压缩两大类。无损压缩是指不损失图像质量的压缩,它是对文件的存储方式进行优化,采用某种算法表示重复的数据信息,文件可以完全还原,不会影响文件内容。一般来说,由于无损压缩只是删除了图像数据中的冗余信息,可以准确地恢复原始图像,所以不可能达到很高的压缩比。有损压缩是指损失图像质量的压缩,它将不相干的信息也删除了,因此解压时只能将原始图像进行近似的还原,它的高压缩比是以牺牲图像质量为代价的。

2 JPRG图像压缩
JPEG 提出的 JPEG 标准是为连续色调图像的压缩提供的公共标准。连续色调图像并不局限于单色调( 黑白) 图像,该标准可适用于各种多媒体存储和通信应用所使用的灰度图像、摄影图像及静止视频压缩文件。
JPEG 标准还提出:
①必须将图像质量控制在可视保真度高的范围内,同时编码器可被参数化,允许设置压缩或质量水平
②压缩标准可以应用于任何一类连续色调数字图像,并不应受到维数、颜色、画面尺寸、内容和色调

RLE(Run-Length Encoding)是一种无损压缩方法,用于减少图像数据的存储空间。在RLE压缩中,连续重复的像素值被替换为一个计数值和该像素值。这种方法适用于二值图像,但也可以应用于灰度图像。 在你提供的代码中,你使用了RLE压缩方法对灰度图像进行了压缩。首先,你将图像转换为灰度图像,并初始化一些变量。然后,你遍历图像的每一行,对每个像素进行处理。如果当前像素与下一个像素的灰度值相等,你增加计数值n,直到遇到不相等的像素。然后,你将当前像素的灰度值保存在I1中,将计数值保存在I2中,并更新I3中每行的数据个数。最后,你计算总像素个数,并找到重复像素个数的最大值M。 接下来,你进行图像的恢复过程。你创建一个新的矩阵I4用于存储恢复后的图像。你遍历每一行和每个像素的计数值,将像素值按照计数值进行重复,并将结果存储在I4中。最后,你将I4转换为uint8类型,并显示原始图像和恢复后的图像。 总的来说,你使用了RLE无损压缩方法对灰度图像进行了压缩和恢复。这种方法可以减少图像数据的存储空间,但不会损失图像质量。请注意,RLE压缩方法在灰度图像上的效果可能不如在二值图像上的效果好。 #### 引用[.reference_title] - *1* [基于RLE的matlab图像无损压缩实现](https://blog.csdn.net/qq_42109740/article/details/92799539)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【图像压缩】基于matlab GUI DCT图像无损压缩Matlab源码 726】](https://blog.csdn.net/TIQCmatlab/article/details/115499267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值