虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

您现在的位置是:虫虫下载站 > 资源下载 > 源码 > 基于MATLAB的JPEG图像压缩编码

基于MATLAB的JPEG图像压缩编码

  • 资源大小:7 K
  • 上传时间: 2018-03-15
  • 上传用户:wlmelody
  • 资源积分:2 下载积分
  • 标      签: matlab

资 源 简 介

简单的实现JPEG图像压缩编码方法一

clear all;

RGB=imread('C:\Users\Administrator\Desktop\123.bmp');%读取内存中bmp格式的彩色图像

I=rgb2gray(RGB);%将彩色图像转换为灰度图像

I1=im2double(I);%将图像变换为双精度格式

T=dctmtx(8);%处理后返回一个8*8阶的DCT矩阵

B1=blkproc(I1,[8 8],'P1*x*P2',T,T');%对图像的每个8*8子块应用矩阵式‘P1*x*P2(像素块的处理函数,x是形式参数)进行处理,P1=T,P2=T’

mask=[1 1 1 1 0 0 0 0

         1 1 1 0 0 0 0 0

         1 1 0 0 0 0 0 0

         1 0 0 0 0 0 0 0

         0 0 0 0 0 0 0 0

         0 0 0 0 0 0 0 0

         0 0 0 0 0 0 0 0

         0 0 0 0 0 0 0 0 ];%选取10个DCT系数重构图像(DCT具有能量集中的性质,数据集中在左上角,故进行图像压缩时离散余弦变换矩阵可以舍弃右下角的高频数据)

B2=blkproc(B1,[8 8],'P1.*x',mask);%舍弃每个块中的高频系数,达到压缩的目的

I2=blkproc(B2,[8 8],'P1*x*P2',T',T);%余弦反变换,重构图像

subplot(2,2,1);imshow(RGB);%原彩色图像

subplot(2,2,2);imshow(I);%灰度图像

subplot(2,2,3);imshow(I1);%双精度灰度图像

subplot(2,2,4);imshow(I2);%重构图像

相 关 资 源