ZScan扫描是Z字扫描,从左上角开始扫描完一块扫描另一块。HM代码中ZScan扫描顺序存储在g_auiRasterToZscan数组中,该数组是Raster扫描到ZScan扫描的转换。类似的ZScan扫描到Raster扫描的数组为g_auiZscanToRaster。
#include <fstream>
...
std::ofstream zscan;
zscan.open("ZScan.txt", ios::app);
for (int i = 0; i < 16; i++){
for (int j = 0; j < 16; j++){
zscan << setw(4) << g_auiRasterToZscan[16 * i + j];
}
zscan << endl << endl ;
}
zscan.close();
输出结果如下:
Zscan扫描顺序:
Raster扫描是一行一行扫描,扫描顺序如下图所示:
g_auiRasterToZscan值就是Zscan扫描顺序为:
g_uiZscanToRaster值为: