学习笔记 山外K60库图像解压函数原理(底层代码详解)

来源:互联网 发布:大数据毕业设计本科 编辑:程序博客网 时间:2024/05/16 04:55

这里写图片描述
图一 用户调用的函数
这里写图片描述
图二 山外K60库底层函数

原图像imgbuff数组中0表示白色,1表示黑色,转化为img数组后255表示白色,0表示黑色。

底层库中img_extract函数运行流程如下:
分别对imgbuff,img取地址,循环CAMERA_SIZE(IMG_H*IMG_W/8=80*60/8=600)次(1个字节表示8个像素点的信息),每次循环imgbuff的地址自加1(取完一幅图像所有的像素信息),接着对这个字节的数据进行处理,(>>7)的意义是向左移7位(即取这8个二进制码的第一个数),(&)的意义是按位与操作(即0&0x01=0;1&0x01=1),最后将colour数组的值赋给新数组img。
举例
原数组imgbuff中有1个字节的二进制码(11100001)经解压得新数组img的数组元素是(0 0 0 255 255 255 255 0)或八个八位二进制码(0=00000000;255=11111111).

阅读全文
0 0