金牌会员
- 积分
- 1551
- 威望
- 818
- 贡献
- 383
- 兑换币
- 138
- 注册时间
- 2012-3-27
- 在线时间
- 175 小时
|
刘胜利 发表于 2013-3-10 14:02
帮我看看这样解压到一个数组可以吗
void img_extract(u8 * dst,u8 * src,u32 srclen)
{
//压缩二值化图像解压(空间 换 时间 解压)
void img_extract(u8 * dst,u8 * src,u32 srclen)
{
u8 colour[2]={255,0}; //0 和 1 分别对应的颜色
//注:野火的摄像头 0 表示 白色,1表示 黑色
u8 tmpsrc;
while(srclen --)
{
tmpsrc = *src++;
*dst++ = colour[ (tmpsrc >> 7 ) & 0x01 ];
*dst++ = colour[ (tmpsrc >> 6 ) & 0x01 ];
*dst++ = colour[ (tmpsrc >> 5 ) & 0x01 ];
*dst++ = colour[ (tmpsrc >> 4 ) & 0x01 ];
*dst++ = colour[ (tmpsrc >> 3 ) & 0x01 ];
*dst++ = colour[ (tmpsrc >> 2 ) & 0x01 ];
*dst++ = colour[ (tmpsrc >> 1 ) & 0x01 ];
*dst++ = colour[ (tmpsrc >> 0 ) & 0x01 ];
}
}
----------------------上述的火哥提供的解压缩的程序---------------------
img_extract(img_buf , img_bin_buff, CAMERA_SIZE); //恢复压缩的二值化图像为非压缩图像
主程序中直接使用这句即可,img_buf为解压缩后的目标指针,img_bin_buff是压缩数据的指针.
|
|