matlab无损图像压缩
时间: 2023-08-20 17:12:21 浏览: 136
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 ]
阅读全文