zigzag扫描matlab,ZIGZAG扫描的MATLAB实现
用matlab实现MPEG中的 ZIG-ZAG 扫描。觉得有点研究价值,实现的方法也很巧妙。
下面给一个参照MPEG提供的方法:
===
function b=zigzag(a)
% 这是参照 University of California 提供的 MPEG 源代码的基础上编制的。
% Copyright (c) 1995 The Regents of the University of California.
[n,m]=size(a);
if(n~=8 & m~=8)
error('Input array is NOT 8-by-8');
end
% Set up array for fast conversion from row/column coordinates to
% zig zag order. 下标从零开始,因为是从MPEG的C代码拷贝过来的
zigzag = [ 0, 1, 8, 16, 9, 2, 3, 10, ...
17, 24, 32, 25, 18, 11, 4, 5, ...
12, 19, 26, 33, 40, 48, 41, 34, ...
27, 20, 13, 6, 7, 14, 21, 28, ...
35, 42, 49, 56, 57, 50, 43, 36, ...
29, 22, 15, 23, 30, 37, 44, 51, ...
58, 59, 52, 45, 38, 31, 39, 46, ...
53, 60, 61, 54, 47, 55, 62, 63];
zigzag = zigzag + 1; % 下标加1,符合MATLAB的下标习惯
aa = reshape(a,1,64); % 将输入块变成1x64的向量
b = aa(zigzag); % 对 aa 按照查表方式取元素,得到 zig-zag 扫描结果
===
程序运行结果:
?a=magic(8)
a =
64 2 3 61 60 6 7 57
9 55 54 12 13 51 50 16
17 47 46 20 21 43 42 24
40 26 27 37 36 30 31 33
32 34 35 29 28 38 39 25
41 23 22 44 45 19 18 48
49 15 14 52 53 11 10 56
8 58 59 5 4 62 63 1
?b=zigzag(a)
b =
Columns 1 through 12
64 9 2 3 55 17 40 47 54 61 60 12
Columns 13 through 24
46 26 32 41 34 27 20 13 6 7 51 21
Columns 25 through 36
37 35 23 49 8 15 22 29 36 43 50 57
Columns 37 through 48
16 42 30 28 44 14 58 59 52 45 38 31
Columns 49 through 60
24 33 39 19 53 5 4 11 18 25 48 10
Columns 61 through 64
62 63 56 1
0
zigzag扫描matlab,ZIGZAG扫描的MATLAB实现相关推荐
- matlab完全自学一本通 pdf,matlab r2014a自学一本通 MATLAB R2014a完全自学一本通 中文pdf扫描版[125MB] 下载-脚本之家...
MATLAB R2014a完全自学一本通面向MATLAB 的初中级读者,在介绍MATLAB R2014a 集成环境的基础上,对MATLAB 使用中常用的知识和工具进行了详细的介绍,书中各章均提供了大量 ...
- zigzag扫描matlab,ZIGZAG扫描的MATLAB实现 | 学步园
转自阿须数码,用MATLAB实现MPEG中的 ZIG-ZAG 扫描.觉得有点研究价值,实现的方法也很巧妙. 下面给一个参照MPEG提供的方法: === function b=zigzag(a) % 这 ...
- matlab zigzag算法,ZIGZAG扫描的MATLAB实现
用MATLAB实现MPEG中的 ZIG-ZAG 扫描.觉得有点研究价值,实现的方法也很巧妙. 下面给一个参照MPEG提供的方法: === function b=zigzag(a) % 这是参照 Uni ...
- zigzag扫描matlab,Zigzag逆扫描
Zigzag逆扫描代码 MATLAB版 即将一个1 * k 长度的向量,逆扫描为 M * N 的矩阵(如果 k < M * N,则在 M * N 的矩阵中用 0 补齐:若 k > M * ...
- matlab zigzag算法,MATLAB 实现zigzag扫描(z字形扫描)
今天在做多媒体作业的时候需要实现JPEG压缩,其中一步就是将量化后的块做zigzag扫描.我在网上找了很久,发现反复流传的就一份MATLAB代码,无奈这份代码跑起来结果和我预料的不一致,于是进行了修改 ...
- matlab 雷达系统界面,基于Matlab的雷达系统仿真软件包设计与实现
0 引言 近些年来国际上相继发展了一些雷达仿真系统,而国内相控阵雷达系统和脉冲压缩雷达系统仿真软件的研究已经成为一个热点.对于一个复杂的雷达系统,系统建模与仿真技术是雷达系统设计和研究的一个重要 ...
- 用matlab仿真导航信号,北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)[互联网+]...
<北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)[互联网+]>由会员分享,可在线阅读,更多相关<北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLA ...
- 用matlab仿真导航信号,北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)...
<北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)>由会员分享,可在线阅读,更多相关<北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)(9 ...
- 怎么把dll库写成MATLAB接口,如何在Matlab中应用动态连接库接口技术
1 引言 Matlab是当前应用最为广泛的数学软件,具有强大的数值计算.数据分析处理.系统 分析.图形显示甚至符号运算等功能.利用这一完整的数学平台,用户可以快速实现十分 复杂的功能,极大地提高工程分 ...
最新文章
- Nautilus启动报错
- 单片机上使用TEA加密通信(转)
- 第三章 python数据规整化
- IntelliJ IDEA for Mac工件包(artifact)中 Web facet resources 的模块名称有误,如何修改?
- Qt中标绘功能的实现方法对比
- 软件系统架构有哪几种?
- 凸优化第五章对偶 5.2 Lagrange对偶问题
- GeoServer发布shp数据
- java前后端分离跨域解决方案
- uni-app小程序刷新当前页面的两种方法
- ip地址解析,ip归属地识别
- 南方航空认沽权证21日上市 初始行权价为7.43元
- Django学习日志三:模型层
- Linux 基础命令 -- usermod
- RN 与android原生交互
- 自动控制领域期刊-自动化学会推荐学术期刊
- 财经365独家:基建物业投资路线图
- 网课作业禁止粘贴?禁用JavaScript了解一下!
- 技术博客搬迁通知 - 赵雷彧
- TCP/IP的三次握手