LVGL如何显示摄像头采集的数据?
- 
					
					
					
					
 请问LVGL支持显示摄像头采集的数据吗?如果支持,大概怎么操作呢? 
- 
					
					
					
					
 @cruise33 LVGL和采集摄像头数据两者不相干; 只是完成了后者可以用前者配合显示 
- 
					
					
					
					
 现在应该是没有LVGL的插件支持摄像头数据采集吧。可以先使用V4L2 ioctl采集数据,然后将采集到的YUV数据给LVGL显示。 
- 
					
					
					
					
 @aldfaaa 了解,感谢回复! 
- 
					
					
					
					
 @chengwei_peng 能直接显示YUV么?应该要将YUV转成RGB,再给LVGL显示吧? 
- 
					
					
					
					
 @cruise33 lvgl输出的话要转,但是如果使用多图层,图层是支持yuv直出的,可以不用转换 
- 
					
					
					
					
 - LVGL跟多图层是怎么配合的?用virvi2vo显示摄像头图像,再加上LVGL,显示就被LVGL覆盖了
- LVGL是怎么输出指针中的数据?用lv_img_set_src的方式不可行(只支持内部数组、外部图片文件和bin文件等)
- framebuffer、disp、DE这三者是啥关系?
 
- 
					
					
					
					
 通过mpp采集摄像头数据,经g2d缩放转成rgb给lvgl能正常显示了(数组方式),但帧率有点低,有更好的做法吗? 要显示摄像头数据的话,最好用vo模块来显示吧,如果想在其基础上,加lvgl的UI控件,应该怎么操作呢? 
- 
					
					
					
					
 @cruise33 用virvi2vo显示摄像头图像后,再加上LVGL,显示就被LVGL覆盖了,是因为UI是在最上层,需要挖空摄像头部分的数据,可以清空framebuffer后,设置背景为透明的,参考如下代码 if (lv_obj_has_state(btn, LV_STATE_CHECKED)) { lv_label_set_text(label, "Stop"); lv_disp_get_default()->driver->screen_transp = 1; lv_disp_set_bg_opa(lv_disp_get_default(), LV_OPA_TRANSP); /* Empty the buffer, not emptying will cause the UI to be opaque */ lv_memset_00(lv_disp_get_default()->driver->draw_buf->buf_act, lv_disp_get_default()->driver->draw_buf->size * sizeof(lv_color32_t)); lv_style_set_bg_opa(&style_scr_act, LV_OPA_TRANSP); lv_obj_report_style_change(&style_scr_act); } else { lv_label_set_text(label, "Play"); lv_disp_get_default()->driver->screen_transp = 0; lv_disp_set_bg_opa(lv_disp_get_default(), LV_OPA_COVER); lv_style_set_bg_opa(&style_scr_act, LV_OPA_COVER); lv_obj_report_style_change(&style_scr_act); }并且lv_conf.h中#define LV_COLOR_SCREEN_TRANSP 1 
- 
					
					
					
					
 @anruliu 感谢指导! 
 按着思路尝试设置背景透明,清空framebuffer,但屏幕还是白茫茫一片
  操作如下: - 
LV_COLOR_SCREEN_TRANSP设为1 
  
- 
代码 
 for(i=0;i<VIPP2VO_NUM;i++) { CreateVIPP2VOLink(i, &stContext); result = AW_MPI_ISP_SwitchIspConfig(stContext.mConfigPara.mVIPP2VOConfigArray[i].mIspDev, stContext.mConfigPara.mIspWdrSetting); if(result != SUCCESS) printf("fatal error! isp switch wdr[%d] fail[%d]", stContext.mConfigPara.mIspWdrSetting, result); } static lv_style_t style_scr_act; lv_style_init(&style_scr_act); lv_disp_get_default()->driver->screen_transp = 1; lv_disp_set_bg_opa(lv_disp_get_default(), LV_OPA_TRANSP); lv_memset_00(lv_disp_get_default()->driver->draw_buf->buf_act, lv_disp_get_default()->driver->draw_buf->size * sizeof(lv_color32_t)); lv_style_set_bg_opa(&style_scr_act, LV_OPA_TRANSP); lv_obj_report_style_change(&style_scr_act);是这样操作吗?lv_disp_get_default()就是获取默认屏幕吗 我看网上教程有类似的操作,做了好些尝试也不管用 
  
- 
- 
					
					
					
					
 @cruise33 要应用你设置的风格啊 lv_obj_add_style(lv_scr_act(), &style_scr_act, 0);
- 
					
					
					
					
 此回复已被删除!
- 
					
					
					
					
 @anruliu 我搞定了,感谢感谢!! 这样就可以了 static lv_style_t style_scr_act; lv_style_init(&style_scr_act); lv_style_set_bg_opa(&style_scr_act, LV_OPA_TRANSP); lv_obj_add_style(lv_scr_act(), &style_scr_act, 0); lv_disp_set_bg_opa(lv_scr_act(), LV_OPA_TRANSP);
- 
					
					
					
					
 @cruise33 你好 能分享一下源码 怎么实现的吗 感谢 
- 
					
					
					
					
 
- 
					
					
					
					
 @biubiu 在 LVGL如何显示摄像头采集的数据? 中说: @dybzz2 韦老师那边有参考:https://www.bilibili.com/video/BV1rF411f7Fw 你好,我看这个视频中韦老师写的代码,nv12 转 jpg的部分是使用的 cpu转化的,可以提供一下 g2d 转化的实现代码吗? 
- 
					
					
					
					
 @cruise33 ,请教一下怎么实现LVGL显示摄像头内容以及播放音视频,可以有偿,谢谢! 
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号
 
			
			