ar头显和眼镜图像特效处理

使用一个线程从摄像头或者其他设备循环读取图像数据写入链表,另一个线程从链表循环读取数据并做相应的特效处理,由于写入的速度比读取的快,最终必然会因为写入过快导致线程读写一帧而引发冲突和数据帧正常数据帧被覆盖。最好使用共享内存,以节省拷贝的时间。

1.一个懒惰的处理方式是,使用线程锁当读写冲突时,让读取线程向前快速移动若干帧,移动帧数和写入的速度有一定关系,这能处理正确冲突,但会丢帧,而且跳帧过于频繁体验会变差。

2.如果写线程遇到读线程冲突,也可以阻塞,等若干时间一样也会导致掉帧。

3.一个好的方法是一方面降低写入,比如写入时加一个过滤器,如果图像变化比较小,可以不跳过,一方面提高读取处理速度,使两者速度接近,以减少冲突,这样在遇到冲突需要跳帧时能减少丢帧。如果能使用信号量每隔一段时间读写对齐一次就很好。

4.一个不丢帧的方式,从摄像头获取的数据分一大一小两个buffer,大的用于直接显示,不处理不减帧,小的用于特效处理,处理一帧,发送一帧,生成标定数据狗,猫,人然后把这些标注按大小比例合并到原始图上。

相关推荐
fatiaozhang952727 分钟前
中兴云电脑W101D2-晶晨S905L3A-2G+8G-安卓9-线刷固件包
android·网络·电脑·电视盒子·刷机固件·机顶盒刷机
G_H_S_3_28 分钟前
【网络运维】 Linux:使用 Cockpit 管理服务器
运维·服务器·网络
Fantastic_sj2 小时前
TCP/UDP讲解及主要区别
网络协议·tcp/ip·udp
AORO20255 小时前
国内好用的智能三防手机,适合户外、工业、公共安全等场景
网络·5g·智能手机·制造·信息与通信
CP-DD6 小时前
OpenWrt Network configuration
服务器·网络·windows
changhao_886 小时前
解析非法获取计算机信息系统数据罪中的其他技术手段
网络·商业秘密·非法获取计算机信息
qing222222226 小时前
记录Linux下ping外网失败的问题
linux·服务器·网络
CP-DD6 小时前
openwrt中br-lan,eth0,eth0.1,eth0.2
网络
Neolock6 小时前
从一开始的网络攻防(十四):WAF绕过
网络·安全·web安全·waf
t***03037 小时前
域名https证书
网络协议·http·https