当前位置: 首页 > ops >正文

Zigzag扫描Matlab实现

Zigzag扫描的Matlab实现

Zigzag扫描

Zigzag扫描在图像处理中占有重要的位置,比如说在JPEG、MPEG压缩领域,数字图像置乱,数字水印中都有应用,由于学习需要,需要对图像进行Zigzag扫描,无奈网上的代码方法都是相同的,即使用一个已经定义好扫描顺序的矩阵去进行扫描,毫无通用性可言,所以自己通过Matlab实现了通用性的Zigzag扫描程序,现将代码贴上,以8x8的矩阵为例:

clear all;
clc;
a=[1:64];
a=reshape(a,[8 8]);
a=a’;
%a是8x8的数组 下面开始zigzag扫描
b=zeros(1,64);
i=1;
j=1;
k=1;
while(i ~= 8 || j ~= 8)
if i == 8
b(k)=a(i,j)-1;
k=k+1;
j=j+1;
while(j~=8)
b(k)=a(i,j)-1;
k=k+1;
i=i-1;
j=j+1;
end
elseif j == 8
b(k)=a(i,j)-1;
k=k+1;
i=i+1;
while(i~=8)
b(k)=a(i,j)-1;
k=k+1;
i=i+1;
j=j-1;
end
elseif(i == 1)
b(k)=a(i,j)-1;
k=k+1;
j=j+1;
while(j ~= 1)
b(k)=a(i,j)-1;
k=k+1;
i=i+1;
j=j-1;
end
elseif j == 1
b(k)=a(i,j)-1;
k=k+1;
i=i+1;
while(i ~= 1)
b(k)=a(i,j)-1;
k=k+1;
i=i-1;
j=j+1;
end
end
end
b(k)=a(i,j)-1;
b=reshape(b,[8 8]);
b=b’;

可能需要大家调一下缩进。

http://www.xdnf.cn/news/10944.html

相关文章:

  • 虚拟机Ubuntu开启出现:An internal error occurred during:
  • 网页技术革命:精美绝伦的 HTML5 个人作品集网站
  • 取消 UpdatePanel 更新
  • [Java Web]Response对象
  • AMD双核所有驱动,补丁,优化下载地址和安装方法
  • 信息安全概论(期末知识点复习)_信息安全8个安全目标与需求可存活性内容(1)
  • 使用Python抓取豆瓣电影评论并分析词云生成词云图
  • 【Element进阶】1、深入理解Element UI的国际化
  • 国内外 Ubuntu 衍生版比较
  • 基于ssm网络教学平台的设计与实现论文
  • 启动程序出现msvcrt40.dll文件丢失问题解决
  • 【中创】壹起共享“免费”网络资源库-持续更新中
  • 【网络安全】简单的免杀方法(非常详细)零基础入门到精通,收藏这一篇就够了
  • iproute2路由配置(ip rule、ip route、traceroute)
  • 交联剂的作用和溶解性的说明
  • 详谈调用winpcap驱动写arp多功能工具
  • 在线手机WAP模拟器或软件,用电脑IE浏览器在线浏览手机wap网站
  • DevOps - Spug 自动化运维平台
  • 四元素、旋转矩阵与旋转向量
  • PH热榜 | 2025-06-03
  • 61、ESB详解
  • 【小红书】API接口,获取笔记列表
  • HCIP-Datacom Core Technology V1.0_3 OSPF基础
  • Python数据分析及可视化中常用的6个库及函数(一)
  • 每日算法-250603
  • 大模型、AI人工智能:核心技术与发展趋势
  • 分子进化分析软件MEGA介绍
  • 浅谈机械硬盘存储技术与磁盘格式化
  • 智能指针。多个指针共享同一资源,最后一个释放资源”
  • ARM架构推理Stable Diffusiond