信源编码作业——矢量量化

来源:互联网 发布:应力应变数据记录器 编辑:程序博客网 时间:2024/05/02 04:32

一、重点整理
矢量量化引入的优点:高维空间处理可增加灵活性。
矢量量化的过程:
这里写图片描述
矢量量化最重要的点——码本的生成,多种码本生成方法都基于LBG算法。
二、程序调试
系统:win7
软件:vs2017
打开程序包项目,进行重新编译及重定项目目标后,运行程序,报错:无法找到unistd.h,经查询解决方法为:
新建unistd.h文件,文件内容为:

#ifndef _UNISTD_H#define _UNISTD_H #include <io.h> #include <process.h> #endif /* _UNISTD_H */

并将unistd.h文件置于如下路径文件夹中这里写图片描述

重新对项目进行编译和调试,运行成功。
这里写图片描述
对项目进行调试得到:
这里写图片描述

对项目进行单步调试,通过设置断点的方式对程序进行单步调试,了解到:

该解决方案的中包含三个主程序且他们各自的运行过程如下:
(1)、trvqsp_img:用于获得图像矢量量化的码书;
程序中运行过程:
(1、打开图像文件与码书文件
(2、读取相应参数
(3、图像存到缓冲区trimg
(4、codebook_size变为之前2倍。对codebook赋值,奇数行不变,偶数行加上一个eps扰动。
(5、measure>门限值且迭代次数小于100次时,迭代codebook行,如果有匹配训练集行,该行赋值为匹配训练集行的均值;如果没有,则该行赋值为上次码书匹配最多行并加扰动;对训练集每一行找到码书中平方差最小的行,累加起来。
(6、重复步骤(5直到不满足条件
(7、(4-(6直到codebook_size不再

0 0