摄像头采集数据,然后用stm32上传到电脑,上位机编写了一个简单的UDP接收程序,然后实时显示图像数据,图像边缘模糊,整体呈现绿 {MOD},如图
确认焦距调好,在开发板液晶屏上显示很清晰。视频数据上传到电脑上,(摄像头采集的像素是16位的)经过转换
B = (char)(color>>11)&(0x1f);
G = (char)(color>>3)&(0x3f);
R = (char)color&(0x1f);
把16位 {MOD}转换成32位 {MOD}。我交换过R、B的位置,甚至对R、G、B都取反,可还是不行,图像依然模糊不清,边缘化严重。不知道怎么回事,蛋疼啊,有大侠指点我么?
---------------------------------
解决了,晚上试了好长时间,上面16位的像素转换成24位的数据不是十分正确导致以上问题,正确转换的方法:
R = ((char)(color>>11)&(0x1f))<<1;
G = ((char)(color>>3)&(0x3f))<<1;
B = ((char)color&(0x1f))<<1;
这样转换后效果好多了,接近真实的颜 {MOD}。谢谢原子哥!
一周热门 更多>