摄像头数据上传到电脑后发现图像的颜 {MOD}不对,并且显示的物体边缘模糊,整体呈现绿 {MOD}

2019-07-21 03:34发布

摄像头采集数据,然后用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都取反,可还是不行,图像依然模糊不清,边缘化严重。不知道怎么回事,蛋疼啊,有大侠指点我么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
lzw520
1楼-- · 2019-07-21 08:46
回复【2楼】正点原子:
---------------------------------
解决了,晚上试了好长时间,上面16位的像素转换成24位的数据不是十分正确导致以上问题,正确转换的方法:
R = ((char)(color>>11)&(0x1f))<<1;
G = ((char)(color>>3)&(0x3f))<<1;
B = ((char)color&(0x1f))<<1;
这样转换后效果好多了,接近真实的颜 {MOD}。谢谢原子哥!
正点原子
2楼-- · 2019-07-21 09:08
先试试,直接搞一副图片,传上来,可以显示不。
lzw520
3楼-- · 2019-07-21 12:40
回复【2楼】正点原子:
---------------------------------
摄像头数据正常了,待会传一张视频的截图,但是由遇到了新的问题,电脑上的UDP接收程序明显的能看到刷屏的痕迹,(大概1秒1.5帧),旁边的金山卫士显示网速289.3KB/s,我算了一下,摄像头传来一帧数据是320x240x2Byte=150KB,也就是最多1秒收到不到两帧数据。我们平时看网络视屏时,网速不到100KB/s也能比较流畅的观看。我用LWIP一次传输644字节数据(也就是一行数据),感觉就算一次传个1KB多的数据,速度也不能提高多少。网络视频的数据都是压缩了或是经过其他什么的处理了吗?怎么样才能让我的视屏数据显得较为流畅?
lzw520
4楼-- · 2019-07-21 15:09
 精彩回答 2  元偷偷看……
正点原子
5楼-- · 2019-07-21 19:21
回复【4楼】lzw520:
---------------------------------
当然是压缩了的。。。。
apple
6楼-- · 2019-07-21 19:34
大神,能共享一下代码吗, 我QQ1181358817@qq.com,也正在学习摄像头,先谢谢了。

一周热门 更多>