矢量量化调试



首先解决方案分成以下三个工程:

trvqsp_img:获得图像矢量量化的码书

vqimg_enc:根据码书对图像进行矢量量化

vqimg_dec:根据码书文件和压缩后的文件重构原始图像

一、调试过程

首先,由于解决方案是VS2012版本的,但是我电脑里只有VS2010,强行打开后发现出现以下问题:

1、显示以下错误:项目文件包含ToolsVersion="12.0"。此工具集可能未知或缺失(您可以通过安装相应版本的 MSBuild 来解决该问题),或者该生成因策略原因已被强制更改为...

解决方法:右键点击项目,选择属性,再点击配置属性中的常规,常规中有个平台工作集,把V120改成V100,点击应用即可。

2、显示unistd.h头文件找不到,是因为安装时就没有这个文件,所以就新建一个unistd.h文件,内容为

#ifndef _UNISTD_H 

#define _UNISTD_H

#include <io.h>

#include <process.h>

#endif /* _UNISTD_H */

把这个文件添加到各个项目,并把#include<>改成#include””

改完以上两点后,可以运行

二、整体流程

整个流程主要分为两三大部分:一个是训练矢量量化器,获得图像压缩码书;一个是根据码书对文件进行压缩;另一个是根据码书对压缩文件进行解压缩,恢复原始文件。

1trvqsp_img

流程图:

程序中运行过程:

1)打开图像文件与码书文件

2)读取相应参数

3)把图像存到缓冲区trimg

4codebook_size变为之前2倍。对codebook赋值,奇数行不变,偶数行加上一个eps扰动。

5measure>门限值且迭代次数小于100次时,迭代codebook行,如果有匹配训练集行,该行赋值为匹配训练集行的均值;如果没有,则该行赋值为上次码书匹配最多行并加扰动;对训练集每一行找到码书中平方差最小的行,累加起来。

6)重复步骤(5)直到不满足条件

7)重复(4-6)直到codebook_size不再<final_codebook_size

8)输出码书

2vqimg_enc

流程图:

程序中运行过程:

1)打开文件,读取参数

2)把打开的文件存入inimg缓冲区

3)从码书文件读取压缩参数

4)读取Codebook相关参数,并开一个缓冲区codebook存放码书

5)对读入文件分块,对每一块找到对应码书,并计算每个块存在的误差distortion(利用vqencode函数)

6)把码书编号作为内容存放到输出缓冲区,完成输出文件(利用stuffit函数)

7)把所有误差累加起来计算总的误差total_distortion并输出。

3vqimg_dec

流程图:

程序中运行过程:

1)打开文件,读取参数

2)把打开的文件存入cbfile缓冲区

3)开一个缓冲区outimg存放输出文件

4)读取Codebook相关参数,并开一个缓冲区codebook存放码书

5)读入文件,找到每一块的内容,也就是码书的编号。将编号对应的codebook中的内容写到outimg缓冲区。作为输出文件。

6)完成输出文件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
矢量量化原理与应用本书介绍矢量量化的基本原理,各种矢量量化的构造和设计方法,以及矢量量化在语音编码,图像编码,语声识别与合成中的应用。 全文目录 第一章 概述 一、引言 第二章 矢量量化的基本原理 第三章 矢量量化系统 第四章 有记忆矢量量化器 第五章 快速搜索算法 第六章 矢量量化的应用 参考文献 二、无记忆标量量化 1均匀量化 2压缩与扩张 3最小二乘方量化与Lloyd—Max算法 三、有记忆标量量化 1差值脉码调制(DPCM) 2增量调制(△M) 一、矢量量化的定义与矢量量化器的构造 1矢量量化的定义 2失真测度 3矢量量化器 二、最佳矢量量化器 1最佳矢量量化器概念 2设计最佳矢量量化器的必要条件 三、矢量量化器的设计算法 1LBG算法 2初始码书的选定与空胞腔的处理 3其它设计算法 四、矢量量化压缩数据的机理 五、矢量量化与标量量化的比较 一、基本矢量量化系统 1矢量量化器的复杂度 2时间复杂度 3空间复杂度 二、树搜索矢量量化器 1树搜索原理 2树结构的设计 3树搜索矢量量化器的复杂度 三、多级矢量量化器 1多级矢量量化器的构造 2多级矢量量化器码书的设计 3两极矢量量化器 4多级矢量量化器的复杂度 四、乘积码矢量量化器 1增益/波形矢量量化器 2分离均值矢量量化器 五、格形矢量量化器 1根格的定义及其某些性质 2输入矢量在K维整数格Zk中的最近格点 3输入矢量X至E8中的最近格点 4格点的标号 5根格的格点 六、变换域中的矢量量化 一、有记忆矢量量化器的分类 二、反馈矢量量化器 1预测矢量量化器(PVQ) 2有限状态矢量量化器(FSVQ) 三、自适应矢量量化器 1增益自适应矢量量化器 2自适应矢量预测编码(AVPC) 一、搜索算法复杂度的度量方法 1三元组度量法 2乘法次数度量法 二、投影法 三、超立方体法 四、最小最大法 一、矢量量化在图像编码中的应用 1设计任务要求 2方案选择 3设计步骤 4实验结果 二、矢量量化在语音编码中的应用 1VQLPC声码器 2语音波形编码器的硬件实现 三、矢量量化在模式识别中的应用 1采用类音素模板的单词识别系统 2隐马尔可夫模型单词识别系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值