问题不在于摄像头本身,而在于图像采集卡。图像采集卡厂商会提供库函数。
1. 运行到 ConvertRGB2YUV 函数时,在
*y++=( RGB2YUV_YR[*r] +RGB2YUV_YG[*g]+RGB2YUV_YB[*b]+1048576)》16; 出down掉!
崩溃! 程序每次到这里崩溃,我也崩溃了!后来反复查网上帖子,有几个说的还行,总体说来,还是没有根本解决:出现这个问题的原因是摄像头采集到的数据是YUY2 的格式, 而ConvertRGB2YUV函数只认识RGB 的格式,所以需要将 YUY2的数据转换成RGB 的格式,于是又疯狂的搜索,终于找到这个宝贵的函数:
/************************************************************************/
/* 函数名称: YUY2_RGB2_ljh
/* 参数:unsigned char *YUY2buff,unsigned char *RGBbuff,long dwSize
YUY2buff 原始待转换的 YUY2 的数据
RGBbuff 转换后的 RGB 数据
dwSize 数组大小