色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【AWTK使用經(jīng)驗(yàn)】如何播放視頻或攝像頭畫面

ZLG致遠(yuǎn)電子 ? 2024-07-04 08:25 ? 次閱讀

AWTK是基于C語(yǔ)言開(kāi)發(fā)的跨平臺(tái)GUI框架。《AWTK使用經(jīng)驗(yàn)》系列文章將介紹開(kāi)發(fā)AWTK過(guò)程中一些常見(jiàn)問(wèn)題與解決方案,例如:如何加載外部資源?如何設(shè)計(jì)自定義進(jìn)度條?這些都會(huì)在系列文章進(jìn)行解答。

假設(shè)目前想在ZTP800示教器的AWTK程序中實(shí)現(xiàn)播放視頻或者播放攝像頭畫面的效果,可以借助AWTK的mutable_image控件或usb_camera控件來(lái)顯示畫面。下圖則是ZTP800示教器使用usb_camera控件Demo顯示攝像頭畫面的效果圖:
e78bbb6a-399b-11ef-a655-92fbcf53809c.png圖1ZTP800示教器顯示攝像頭畫面效果圖

usb_camera控件和mutable_image控件的對(duì)比

關(guān)于文章開(kāi)頭提到的兩個(gè)控件對(duì)比如下:

1. mutable_image控件

mutable_image控件可以顯示視頻畫面,也可以顯示攝像頭等外接設(shè)備畫面。適用性比較廣泛,但使用起來(lái)相對(duì)繁瑣一些。它本身是不負(fù)責(zé)解析視頻或攝像頭設(shè)備畫面數(shù)據(jù)的,用戶可以通過(guò)第三方庫(kù)解析并獲取畫面原始RGB數(shù)據(jù),將數(shù)據(jù)拷貝到mutable_image控件特定回調(diào)函數(shù)里面即可顯示畫面。

2. usb_camera控件

usb_camera控件本質(zhì)上是對(duì)mutable_image控件的封裝,專門用于顯示攝像頭畫面。在控件內(nèi)部實(shí)現(xiàn)了獲取并解析攝像頭畫面數(shù)據(jù)的代碼,用戶只需調(diào)用特定的API即可顯示攝像頭畫面,而不用手動(dòng)拷貝原始RGB數(shù)據(jù)。與mutable_image相比沒(méi)那么廣,但是使用起來(lái)相對(duì)方便。

使用usb_camera控件顯示攝像頭畫面

使用usb_camera控件顯示攝像頭畫面的流程比較簡(jiǎn)單:在AWStudio插件列表可以安裝該插件,之后在自己的AWTK應(yīng)用放置一個(gè)usb_camera控件和一個(gè)按鈕控件,設(shè)置usb_camera控件的攝像頭設(shè)備、大小等屬性,并且給該按鈕注冊(cè)點(diǎn)擊事件用于打開(kāi)攝像頭。e7b0fbfa-399b-11ef-a655-92fbcf53809c.png圖2使用usb_camera控件頁(yè)面布局示例

按鈕點(diǎn)擊事件回調(diào)函數(shù)可以參考以下代碼示例:

static ret_t on_button_click(void* ctx, event_t* e) { ret_t ret = RET_OK; widget_t* win = WIDGET(ctx); widget_t* camera = widget_lookup(win, "usb_camera", TRUE);
if(usb_camera_is_open(camera) && usb_camera_is_play(camera)) { usb_camera_stop(camera); usb_camera_close(camera); } else { ret = usb_camera_open(camera); if (ret != RET_OK) { dialog_toast("open camera fail", 3000); return ret; } return usb_camera_play(camera); } return RET_OK;}


使用mutable_image控件顯示視頻或攝像頭畫面

mutable_image控件主要提供了 mutable_image_set_prepare_image 函數(shù)注冊(cè)一個(gè)回調(diào)函數(shù),該回調(diào)函數(shù)在每次繪制之前被調(diào)用,用于準(zhǔn)備下一幀要顯示的圖片。
由于mutable_image控件本身不帶有獲取視頻或攝像頭畫面的功能,因此獲取畫面數(shù)據(jù)的操作可以借助第三方庫(kù)(如:OpenCV)來(lái)實(shí)現(xiàn)。mutable_image為了以最高性能繪制,會(huì)采取和當(dāng)前LCD相同的位圖數(shù)據(jù)格式(調(diào)用lcd_get_desired_bitmap_format 獲取)因此為了兼容不同LCD格式,可以在回調(diào)函數(shù)中寫好不同格式的拷貝像素邏輯。

下面則是利用OpenCV接口獲取攝像頭數(shù)據(jù)并顯示到mutable_image控件的部分代碼示例:

static cv::Mat cv_image;static cv::VideoCapture cv_capture;
/* mutable_image_set_prepare_image回調(diào)函數(shù) */ret_t mutable_image_prepare_image(void* ctx, bitmap_t* image) { uint8_t* image_buff = NULL; uint32_t bpp = bitmap_get_bpp(image); widget_t* widget = WIDGET(ctx); bitmap_format_t format = (bitmap_format_t)image->format; cv_capture >> cv_image; image_buff = bitmap_lock_buffer_for_write(image); for (int h = 0; h < image->h; ++h) { uint8_t* p_buff = image_buff + image->w * h * bpp; for (int w = 0; w < image->w; ++w) { /* 調(diào)用OpenCV接口獲取攝像頭當(dāng)前幀的原始RGB數(shù)據(jù) */ cv::Vec3b val = cv_image.at(h, w); if (format == BITMAP_FMT_RGB888 || format == BITMAP_FMT_RGBA8888) { /* RGB888或 RGBA8888示例, 由于該示例上面cv::at數(shù)據(jù)的格式為BGR,需要進(jìn)行轉(zhuǎn)換, 具體是否需要轉(zhuǎn)換根據(jù)實(shí)際格式而決定 */ uint8_t blue = val[0]; uint8_t green = val[1]; uint8_t red = val[2]; p_buff[0] = red; p_buff[1] = green; p_buff[2] = blue; if (format == BITMAP_FMT_RGBA8888) { p_buff[3] = 255; } p_buff += bpp;
} else if (format == BITMAP_FMT_BGR888 || format == BITMAP_FMT_BGRA8888) { ... } else if (format == BITMAP_FMT_BGR565) { } else if (format == BITMAP_FMT_RGB565) { ... } } }
return bitmap_unlock_buffer(image);}
ret_t camera_open(widget_t* win) { widget_t* mutable_image = widget_child(win, "mutable_image");
cv_capture.open(0); mutable_image_set_prepare_image(mutable_image,mutable_image_prepare_image, mutable_image); return RET_OK;}

上面代碼通過(guò)設(shè)置mutable_image控件的回調(diào)函數(shù),在回調(diào)函數(shù)里面使用OpenCV的API獲取到攝像頭原始RGB數(shù)據(jù),最后將數(shù)據(jù)寫到mutable_image控件畫面緩沖區(qū)上。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 視頻
    +關(guān)注

    關(guān)注

    6

    文章

    1964

    瀏覽量

    73318
  • 攝像頭
    +關(guān)注

    關(guān)注

    60

    文章

    4883

    瀏覽量

    96748
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7618

    瀏覽量

    138656
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    285
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AWTK使用經(jīng)驗(yàn)】如何更換AWTK SDK與渲染模式

    AWTK是基于C語(yǔ)言開(kāi)發(fā)的跨平臺(tái)GUI框架。《AWTK使用經(jīng)驗(yàn)》系列文章將介紹開(kāi)發(fā)AWTK過(guò)程中一些常見(jiàn)問(wèn)題與解決方案,例如:如何播放
    的頭像 發(fā)表于 08-01 08:25 ?1236次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>】如何更換<b class='flag-5'>AWTK</b> SDK與渲染模式

    攝像頭采集回來(lái)畫面并進(jìn)行視頻輸出畫面時(shí),如何可以在屏幕上查看放大后的視頻畫面

    攝像頭采集回來(lái)畫面并進(jìn)行視頻輸出畫面時(shí),如何可以在屏幕上查看放大后的視頻畫面,相當(dāng)于是圖片中心
    發(fā)表于 02-08 08:14

    android多攝像頭同時(shí)預(yù)覽

    程序可以打開(kāi),預(yù)覽畫面還算流暢,大概25幀左右。調(diào)試USB攝像頭通過(guò)UVC生成了video節(jié)點(diǎn),接著移植了camera的HAL層庫(kù)文件,可以順利打開(kāi)。當(dāng)要調(diào)用第二個(gè)USB攝像頭的時(shí)候就會(huì)遇到一些麻煩
    發(fā)表于 01-18 14:55

    怎么在在無(wú)人機(jī)上加攝像頭,將拍攝畫面實(shí)時(shí)傳回,在電腦屏幕播放

    在無(wú)人機(jī)上加攝像頭,將拍攝畫面實(shí)時(shí)傳回,在電腦屏幕播放推薦課程:張飛四旋翼飛行器視頻套件,76小時(shí)吃透四軸算法http://t.elecfans.com/topic/40.html?e
    發(fā)表于 10-30 19:27

    關(guān)于網(wǎng)絡(luò)攝像頭本地化的方法

    協(xié)議。所以用ONVIF Device Manager來(lái)查看局域網(wǎng)中的攝像頭如圖左邊能看到攝像頭IP。右下角能查看到RTSP視頻流鏈接。復(fù)制這個(gè)鏈接接著打開(kāi)VCam,選擇流媒體在地址欄粘貼上面復(fù)制的rtsp鏈接[img=110,0
    發(fā)表于 05-30 09:21

    OV7670攝像頭模塊是如何實(shí)現(xiàn)攝像頭畫面上傳到onenet的

    OV7670攝像頭模塊是如何實(shí)現(xiàn)攝像頭畫面上傳到onenet的?
    發(fā)表于 09-30 08:53

    使用Arduino和網(wǎng)絡(luò)攝像頭的基本視頻流?

    我知道很多人說(shuō) arduino 不是處理視頻的最佳方式,但我在使用 OctoPi(基于 arduino 的 3D 打印平臺(tái),還具有網(wǎng)絡(luò)攝像頭流)方面經(jīng)驗(yàn)豐富,所以我知道它能夠做我想做的事情想。 我
    發(fā)表于 05-04 06:51

    mp4文件偽裝攝像頭畫面

    電子小白,在網(wǎng)上苦苦尋求方案,請(qǐng)各位路過(guò)大俠指點(diǎn): 主管交代,要弄一個(gè)Android設(shè)備。 能夠用 mp4 視頻文件偽裝成攝像頭畫面,然后循環(huán)播放。 不知道能不能實(shí)現(xiàn)呢,請(qǐng)大家提供下思
    發(fā)表于 05-10 18:37

    基于DirectShow的多攝像頭視頻采集

    1.為什么使用DirectShow 筆者使用的是兩個(gè)USB攝像頭,單攝像頭視頻采集使用OpenCV的VideoCapture類沒(méi)有問(wèn)題,但是雙攝像頭就有問(wèn)題,一個(gè)正常,另外一個(gè)采集不到
    發(fā)表于 02-08 03:24 ?3376次閱讀

    使用Python OpenCV讀取攝像頭視頻文件并播放顯示的詳細(xì)說(shuō)明

    要從攝像頭視頻文件讀取視頻,首先導(dǎo)入opencv 庫(kù)cv2. 使用cv2.VideoCapture() 方法創(chuàng)建一個(gè)VideoCapture 對(duì)象。該方法接收
    發(fā)表于 01-19 16:57 ?5次下載

    特斯拉車內(nèi)攝像頭視頻畫面曝光

    近日,有外媒爆料消息稱:國(guó)外圈內(nèi)某位知名的大神留露放出了幾段關(guān)于特斯拉model 3汽車內(nèi)的攝像頭拍攝畫面高清視頻視頻透露了特斯拉model 3汽車車內(nèi)的后視鏡疑似遮擋部分了
    的頭像 發(fā)表于 04-07 09:20 ?3248次閱讀

    如何選擇視頻會(huì)議攝像頭

    企業(yè)通信系統(tǒng)具有多元化的特點(diǎn)。在視頻會(huì)議系統(tǒng)的采購(gòu)中,必須以需求為主,視頻會(huì)議攝像頭也是如此。必須根據(jù)視頻會(huì)議場(chǎng)地的大小進(jìn)行選擇,不同的是數(shù)碼變焦
    發(fā)表于 04-26 10:57 ?2191次閱讀

    27系列DGUS智能屏發(fā)布:可實(shí)時(shí)播放高清模擬信號(hào)攝像頭視頻

    針對(duì)高清晰度的模擬信號(hào)攝像頭視頻畫面的顯示需求,迪文特推出27系列DGUS智能屏。該系列智能屏可適配常見(jiàn)的AHD攝像頭、CVBS攝像頭,支持
    的頭像 發(fā)表于 12-14 08:13 ?633次閱讀
    27系列DGUS智能屏發(fā)布:可實(shí)時(shí)<b class='flag-5'>播放</b>高清模擬信號(hào)<b class='flag-5'>攝像頭</b><b class='flag-5'>視頻</b>

    高清網(wǎng)絡(luò)攝像頭多媒體智能屏

    迪文全新推出的28系列智能屏,是面向屏幕實(shí)時(shí)顯示高清網(wǎng)絡(luò)攝像頭視頻畫面應(yīng)用的產(chǎn)品。該系列智能屏可通過(guò)以太網(wǎng)WiFi連接攝像頭,可接收H.2
    的頭像 發(fā)表于 02-19 13:21 ?698次閱讀
    高清網(wǎng)絡(luò)<b class='flag-5'>攝像頭</b>多媒體智能屏

    AWTK使用經(jīng)驗(yàn)】如何在AWTK顯示阿拉伯文本

    AWTK是基于C語(yǔ)言開(kāi)發(fā)的跨平臺(tái)GUI框架。AWTK使用經(jīng)驗(yàn)系列文章將介紹開(kāi)發(fā)AWTK過(guò)程中一些常見(jiàn)問(wèn)題與解決方案,例如:如何播放
    的頭像 發(fā)表于 09-12 08:07 ?472次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>】如何在<b class='flag-5'>AWTK</b>顯示阿拉伯文本
    主站蜘蛛池模板: 亚洲AV电影天堂男人的天堂 | 亚洲欧美日韩国产手机在线 | 热99RE久久精品国产 | 精油按摩日本 | 成人永久免费视频 | 久久麻豆国产国产AV | 被肉日常np快穿高h 被肉日常np高h | 青青久在线视频免费观看 | 约艺术院校96年清纯白嫩 | wwwwxxxx欧美| 女人吃男人的鸡鸡 | 在线 国产 欧美 专区 | 国产精一品亚洲二区在线播放 | 国产成人在线视频网站 | 在野外被男人躁了一夜动图 | 国产欧美精品一区二区三区-老狼 | 久久久91精品国产一区二区 | 玩弄人妻少妇500系列网址 | 午夜A级理论片左线播放 | jizz国产丝袜18老师美女 | 伊人久久一本 | 综合人妻久久一区二区精品 | 人妻无码AV中文系统久久免费 | 精品日韩二区三区精品视频 | 国产成久久免费精品AV片天堂 | 最近日本字幕MV免费观看在线 | 最近的2019中文字幕国语 | 亚洲精品拍拍央视网出文 | 丰满的寡妇hd高清在线观看 | 一本色道久久综合一区 | 学生精品国产在线视频 | 亚洲AV无码乱码国产精品品麻豆 | 国产精品AV色欲蜜臀在线 | 色偷偷超碰97人人澡人人 | 久久精品视频在线看99 | 国产午夜免费不卡精品理论片 | 18岁末年禁止观看免费1000个 | 久久久久久久久a免费 | 蜜桃传媒视频 | 色婷婷综合久久久中文字幕 | 高清无码色大片中文 |