用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

(hunnish)

matlab zigzag算法,ZIGZAG扫描的MATLAB实现相关推荐

  1. 【图像去噪】基于matlab全变分算法图像去噪【含Matlab源码 626期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab全变分算法图像去噪[含Matlab源码 626期] 获取代码方式2: 付费专栏Matlab图像处理(初级版) ...

  2. 【图像分割】基于matlab萤火虫算法图像分割【含Matlab源码 2136期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像分割]基于matlab萤火虫算法图像分割[含Matlab源码 2136期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  3. matlab 腐蚀算法,【zz】matlab 腐蚀膨胀算法

    1.图像膨胀的Matlab实现: 可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象.结构元素对象可以是strel函数返回的对象,也可 ...

  4. matlab imresize算法详解,为何 MATLAB imresize 函数和 OpenCV resize 函数结果不同

    为何 MATLAB imresize 函数和 OpenCV resize 函数结果不同?今年 4 月,我在依照 MATLAB 代码自己写一个卷积神经网络 C++ 实现的过程中,就发现了这个问题,不过那 ...

  5. matlab级联算法,IIR滤波器的MATLAB实现(级联型)

    在MATLAB中给定级联型系统系数,由扩展函数casfilter实现IIR的级联形式. 例5.2 系统函数 ,用级联型结构实现. 解:程序清单如下: % 2015-1-28 % ycb_p158_5_ ...

  6. 最优隐神经元数目 算法 matlab,BP算法的改进在Matlab的实现研究

    BP 算法的改进在M a tlab 的实现研究 姚文俊 (中南民族大学电子信息工程学院 湖北武汉 430074) 摘 要:利用M atlab 中的神经网络工具箱提供的丰富网络学习和训练函数,对BP 网 ...

  7. matlab ekf算法讲解,EKF_AHRS(matlab实现)

    [实例简介] [实例截图] [核心代码] EKF_AHRS-master ├── EKF-AHRS │   ├── EKF_AHRS.m │   ├── Get_Init_AHRS.m │   ├── ...

  8. MATLAB常用算法与应用实例分享来袭!

    小天从大学开始接触数学建模,便开启资料收集功能.经过近几年的积累和沉淀,再加上对数学建模领域的深入研究,收集整理了丰富的数学建模资料,内容涵盖"MATLAB常用算法"," ...

  9. 【MVO TSP】基于matlab灰狼算法求解旅行商问题【含Matlab源码 1327期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[TSP]基于matlab灰狼算法求解旅行商问题[含Matlab源码 1327期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

最新文章

  1. 浅析网站页面设计需要注意哪些细节问题?
  2. 转:Ubuntu 开机加载路由设置
  3. 阿里内网热搜开发者工具在线教程推荐
  4. ubuntu启动后反复进入initramfs
  5. listView无需适配器添加数据(写demo快速开发)entries属性的特殊用法
  6. vue项目实现登录(sessionStorage 存储 token)
  7. vc++ 6.0 堆栈_在C ++中使用链接列表实现堆栈
  8. Linux进程间通信:共享内存与管道
  9. 【面向对象】面向对象程序设计测试题7-对象之间的has-a/many关系测试题
  10. 字典中文乱码怎么处理_CATIA教程技巧和二次开发宏:我的零件有很多的几何体,但是几何体的名称是乱的,还有乱码,影响我的后续操作,我该怎么处理?...
  11. 去掉字符串首尾逗号_去除字符串首尾空格和特殊字符
  12. 81相似标准形02——初等变换、初等矩阵、相抵 (等价)、相抵标准形
  13. 全国计算机演示文稿,全国计算机等级考试二级office演示文稿题目[文].pdf
  14. 重构第0天--重构的理解
  15. 大明龙权登录服务器信息解析失败,Steam第三方授权登录异常 《绝地求生》国服绑定中招...
  16. 解决dos窗口启动Tomcat乱码问题
  17. 中控考勤机重置考勤机密码方法
  18. 蚂蚁金服5面,总结了49个面试题,遇到的面试官都是P7级别以上
  19. 装上你就离不开的桌面软件:透明任务栏/显示网速/内存清理/温度监控
  20. 华三路由器ER3260 ipsec配置

热门文章

  1. LeetCode 1431. 拥有最多糖果的孩子
  2. java socket 实现增删改查 + 在线答题小案例
  3. hadoop单机配置(非分布式)
  4. 学生用计算机怎么用视频,19.使用ZOOM作为上课视频、语音和屏幕分享工具,具体对学生的电脑和宽带有什么软件和硬件要求?...
  5. ajax官方api,yangguozhong
  6. python+OpenCV检测条形码
  7. python压缩文件
  8. android之常用知识点(一)
  9. s3cmd安装及使用
  10. 重庆高职高专计算机排名,重庆十大大专排名(含分数线2021年参考)-重庆最好的全日制专科学校...