# image_encode **Repository Path**: get36/image_encode ## Basic Information - **Project Name**: image_encode - **Description**: 利用DCT变换来对图像重新编码,从而实现图像压缩效果 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-18 - **Last Updated**: 2024-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: 图像压缩 ## README # image_encode #### 介绍 通过DCT变换,对图像进行解码-编码,实现图像质量的压缩。 #### 安装教程 1. 本示例需要安装numpy,opencv3,matplotlib模块,可以使用pip install安装 #### 使用说明 1.下载transform_encode压缩包后,解压到文件transform_encode 2.使用anaconda3环境,spyder(python=3.5)打开dip_transform_encode.py,运行 #### 关于结果: 结果有三张图,第一张是原图,第二张是编码后的图像,第三张是将第二张解码后的图像。 本算法的主要思想是将整张图切割成若干个8*8的小块(可换成m*m,在dip_transform_encode.py中的第71行可修改m的值),然后对每一个小块做dct变换,得到8*8的dct矩阵后只保存左上角k位(第72行create_module函数中的第二个参数代表了k的值,k可取1,3,6,15,k越大解压后的图像越接近原图),从而实现64位到k位的压缩。 这么做的原因主要是dct变换的左上角保留了原矩阵块的主要信息,因此可以通过保留左上角而放弃其他像素来实现图像压缩。