资源简介
基于matlab平台,采用DCT算法压缩视频。包括视频分解成帧,DCT算法压缩,帧合成视频,以及综合的视频压缩M文件,可直接仿真。有相应的图片,以及压缩前后的视频,还有原理word报告。
代码片段和文件信息
clear all;
PI=3.1415926;
M=imread(‘image1.bmp‘);%需要处理的图像
mask_num=8;%%这里定义压缩的比率,1~8之间
A=double(M);
trueImage=A;%待压缩的原图象
Cnum=7;%为压缩时保留的系数的个数
I=trueImage/256;
r=I(::1);%红
g=I(::2);%绿
b=I(::3);%蓝
Myfigure1=figure(1);
subplot(121);imshow(mat2gray(trueImage));title(‘原始图象‘);
%对图象进行归一化
%以下为对图象进行DCT变换
%得到图象的DCT系数矩阵及DCT系数方差矩阵
dctm=dctmtx(8);
imageDCTr=blkproc(r[8 8]‘P1*x*P2‘dctmdctm‘);
DCTvarr=im2col(imageDCTr[8 8]‘distinct‘);
n=size(DCTvarr1);
DCTvarr=(sum(DCTvarr.*DCTvarr)-(sum(DCTvarr)/n).^2)/n;
[dumorder]=sort(DCTvarr);
%以下为显示系数图象
%1表示保留的系数表示丢弃的系数
Cnum=64-Cnum;
mask=zeros(88);
for i=1:mask_num
for j=1:mask_num+1-i
mask(ij)=1;
end
end
im8x8=zeros(99);
im8x8(1:81:8)=mask;
im128x128=kron(im8x8(1:81:8)ones(16));
figure(2);subplot(121);imshow(im128x128);title(‘DCT 系数‘);
dctm=dctmtx(8);
newImager=blkproc(imageDCTr[8 8]‘P1*(x.*P2)*P3‘dctm.‘mask(1:81:8)dctm);
newImager=newImager*256;
newImager=uint8(newImager);
imageDCTg=blkproc(g[8 8]‘P1*x*P2‘dctmdctm‘);
DCTvarg=im2col(imageDCTg[8 8]‘distinct‘);
n=size(DCTvarg1);
DCTvarg=(sum(DCTvarg.*DCTvarg)-(sum(DCTvarg)/n).^2)/n;
[dumorder]=sort(DCTvarg);
%以下为显示系数图象
%1表示保留的系数表示丢弃的系数
Cnum=64-Cnum;
mask=zeros(88);
for i=1:mask_num
for j=1:mask_num+1-i
mask(ij)=1;
end
end
im8x8=zeros(99);
im8x8(1:81:8)=mask;
im128x128=kron(im8x8(1:81:8)ones(16));
dctm=dctmtx(8);
newImageg=blkproc(imageDCTg[8 8]‘P1*(x.*P2)*P3‘dctm.‘mask(1:81:8)dctm);
newImageg=newImageg*256;
newImageg=uint8(newImageg);
imageDCTb=blkproc(b[8 8]‘P1*x*P2‘dctmdctm‘);
DCTvarb=im2col(imageDCTb[8 8]‘distinct‘);
n=size(DCTvarb1);
DCTvarb=(sum(DCTvarb.*DCTvarb)-(sum(DCTvarb)/n).^2)/n;
[dumorder]=sort(DCTvarb);
%以下为显示系数图象
%1表示保留的系数表示丢弃的系数
Cnum=64-Cnum;
mask=zeros(88);
for i=1:mask_num
for j=1:mask_num+1-i
mask(ij)=1;
end
end
im8x8=zeros(99);
im8x8(1:81:8)=mask;
im128x128=kron(im8x8(1:81:8)ones(16));
dctm=dctmtx(8);
newImageb=blkproc(imageDCTb[8 8]‘P1*(x.*P2)*P3‘dctm.‘mask(1:81:8)dctm);
newImageb=newImageb*256;
newImageb=uint8(newImageb);
%以下为重构及显示图象
newImage=cat(3newImagernewImagegnewImageb);
figure(3);
imshow(newImage);title(‘重构图象‘);
%以下为显示误差图象
errImage=abs(trueImage-double(newImage));
figure(2);subplot(122);imshow(mat2gray(errImage));title(‘误差图象‘);
%计算均方根误差 erms
e=double(trueImage)-double(newImage);
[mn]=size(e);
Erms=sqrt(sum(e(:).^2)/(m*n))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 26270720 2007-03-27 15:11 基于DCT算法视频压缩\1.avi
文件 2668 2014-01-06 05:08 基于DCT算法视频压缩\DCT算法.m
文件 780464 2014-01-05 23:33 基于DCT算法视频压缩\new.avi
文件 277 2014-01-05 23:28 基于DCT算法视频压缩\分解.m
文件 265 2014-01-06 02:12 基于DCT算法视频压缩\合成.m
文件 1182672 2014-01-22 11:06 基于DCT算法视频压缩\基于DCT算法的视频压缩实验报告.docx
文件 2374 2014-01-06 02:12 基于DCT算法视频压缩\综合.m
文件 10261 2014-01-06 01:12 基于DCT算法视频压缩\images\new1.jpg
文件 9778 2014-01-06 01:12 基于DCT算法视频压缩\images\new10.jpg
文件 9813 2014-01-06 01:17 基于DCT算法视频压缩\images\new100.jpg
文件 10032 2014-01-06 01:17 基于DCT算法视频压缩\images\new101.jpg
文件 10277 2014-01-06 01:18 基于DCT算法视频压缩\images\new102.jpg
文件 10389 2014-01-06 01:18 基于DCT算法视频压缩\images\new103.jpg
文件 10430 2014-01-06 01:18 基于DCT算法视频压缩\images\new104.jpg
文件 10373 2014-01-06 01:18 基于DCT算法视频压缩\images\new105.jpg
文件 10324 2014-01-06 01:18 基于DCT算法视频压缩\images\new106.jpg
文件 10330 2014-01-06 01:18 基于DCT算法视频压缩\images\new107.jpg
文件 10326 2014-01-06 01:18 基于DCT算法视频压缩\images\new108.jpg
文件 10299 2014-01-06 01:18 基于DCT算法视频压缩\images\new109.jpg
文件 9753 2014-01-06 01:12 基于DCT算法视频压缩\images\new11.jpg
文件 10335 2014-01-06 01:18 基于DCT算法视频压缩\images\new110.jpg
文件 10308 2014-01-06 01:18 基于DCT算法视频压缩\images\new111.jpg
文件 10324 2014-01-06 01:18 基于DCT算法视频压缩\images\new112.jpg
文件 10135 2014-01-06 01:18 基于DCT算法视频压缩\images\new113.jpg
文件 10043 2014-01-06 01:18 基于DCT算法视频压缩\images\new114.jpg
文件 9635 2014-01-06 01:12 基于DCT算法视频压缩\images\new12.jpg
文件 9508 2014-01-06 01:12 基于DCT算法视频压缩\images\new13.jpg
文件 9711 2014-01-06 01:12 基于DCT算法视频压缩\images\new14.jpg
文件 9770 2014-01-06 01:13 基于DCT算法视频压缩\images\new15.jpg
文件 9686 2014-01-06 01:13 基于DCT算法视频压缩\images\new16.jpg
文件 9741 2014-01-06 01:13 基于DCT算法视频压缩\images\new17.jpg
............此处省略92个文件信息
- 上一篇:随机共振的所有实例
- 下一篇:matlab实现的读取视频和音频
相关资源
- matlab实现的读取视频和音频
- matlab编写运动视频检测
- 欧拉运动放大视频和代码
- dct图像压缩的matlab实现
- 基于视频检测的多目标跟踪的完整m
- 行人跟踪视频目标跟踪
- 基于PCA算法实现人脸识别完整代码,
- Matlab GUI实时显示摄像头视频
- 教程使用MATLAB搭建一个家庭监控系统
- 基于matlab的GUI搭建通用视频处理工具
- DCT、DWT数字水印技术-matlab代码
- 水印嵌入,dwt_dct变换 matlab源代码
- 基于DCT的图像压缩编码算法的MATLAB实
- Matlab检测视频中的红色区域
- MATLAB实现DCT的JPEG域Jsteg算法(包附界
- matlab读取YUV视频
- 利用matlab进行视频中的图片按帧数截
- matlab按帧分割视频为jpg和灰度图
- DCT法去除混响
- 人脸定位跟踪程序(face tracking)
- 陆吾生写的压缩感知代码
- 用VIBE算法提取视频前景
- 音频数字水印的实现 audio-watermark
-
SVD-ba
sed-watermarking 基于SVD的DCT域和 - 压缩传感重构算法(DCT-OMP)
- yudong 运动目标识别
- GJdongtaigzzz 改进了的动态视频目标跟踪
- VideoFaceDetect 使用matlab调用opencv做成的
- my_ga_test1 该用matlab 实现的遗传算法可
- FDCT 第二代离散曲波变换的源程序
评论
共有 条评论