中级会员
- 积分
- 255
- 威望
- 122
- 贡献
- 89
- 兑换币
- 63
- 注册时间
- 2015-2-14
- 在线时间
- 22 小时
- 毕业学校
- 中国石油大学
|
@小豹哥
我的摄像头采集到的是二值化之后的数据(为0和1),按照帮助文档里的格式发送了图像数据(0发送0x00,1发送0x02),并加了帧头和帧尾,均为0x01,同时上位机中设置的帧头和帧尾也均为0x01,还按照帮助文档测试了上位机已经成功安装。
另外,发送的数据为80*60,即图像的宽为80像素,高为60像素,上位机中也设置了图像的大小为80*60
发送的源代码如下:
//CCDBuffer存放了二值化之后的图像数据
uint32_t x, y;
printf("%d",0x01);//帧头
for(y = 0; y < Height; y++)
{
for(x = 1; x < (Width/8)+1; x++)
{
if(((CCDBuffer[y][x]>>7) & 0x01)==0x01)
printf("%d",0x02);
else
printf("%d",(CCDBuffer[y][x]>>7) & 0x01);
if(((CCDBuffer[y][x]>>6) & 0x01)==0x01)
printf("%d",0x02);
else
printf("%d",0x00);
if(((CCDBuffer[y][x]>>5) & 0x01)==0x01)
printf("%d",0x02);
else
printf("%d",0x00);
if(((CCDBuffer[y][x]>>4) & 0x01)==0x01)
printf("%d",0x02);
else
printf("%d",0x00);
if(((CCDBuffer[y][x]>>3) & 0x01)==0x01)
printf("%d",0x02);
else
printf("%d",0x00);
if(((CCDBuffer[y][x]>>2) & 0x01)==0x01)
printf("%d",0x02);
else
printf("%d",0x00);
if(((CCDBuffer[y][x]>>1) & 0x01)==0x01)
printf("%d",0x02);
else
printf("%d",0x00);
if(((CCDBuffer[y][x]>>0) & 0x01)==0x01)
printf("%d",0x02);
else
printf("%d",0x00);
}
if(y==59)
{
printf("%d",0x01);//帧尾
}
}
|
|