在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

【EASY EAI Nano開(kāi)源套件試用體驗(yàn)】3攝像頭與屏幕的使用

開(kāi)發(fā)板試用精選 ? 來(lái)源:開(kāi)發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-11 16:44 ? 次閱讀

本文來(lái)源電子發(fā)燒友社區(qū),作者:碼農(nóng)愛(ài)學(xué)習(xí), 帖子地址:https://bbs.elecfans.com/jishu_2307434_1_1.html


EASY EAI Nano屏幕顯示攝像頭測(cè)試(附上體驗(yàn)視頻,詳見(jiàn)作者原貼)

本篇進(jìn)行EASY EAI Nano的屏幕顯示與攝像頭顯示測(cè)試,先來(lái)看下最終的測(cè)試效果:

  • 左圖是顯示圖片
  • 右圖是顯示多個(gè)攝像頭,包括:
    • 雙面攝像頭中左邊的紅外攝像頭
    • 雙面攝像頭中右邊的RGB攝像頭
    • 外接USB攝像頭

1.png

本篇測(cè)評(píng)參考了官方文檔的一些內(nèi)容:https://www.easy-eai.com/document_details/3/129

1 攝像頭

1.1 MIPI CSI-2接口簡(jiǎn)介

MIPI CSI-2接口是由MIPI聯(lián)盟下的Camera工作組指定的CSI(Camera Serial Interface)的第2版接口標(biāo)準(zhǔn),主要由應(yīng)用層、協(xié)議層、物理層組成,最大支持4個(gè)虛擬通道傳輸數(shù)據(jù)。

EASY EAI Nano的雙面攝像頭,包括一個(gè)RGB攝像頭和一個(gè)紅外攝像頭,都是MIPI CSI-2接口。

通過(guò)指令檢查EASY EAI nano的MIPI-CSI2接口模塊是否正常工作

dmesg | grep mipi

2.png

1.2 三種類(lèi)型的攝像頭

1.2.1 RGB攝像頭與IR攝像頭

MIPI CSI-2的RGB攝像頭在EASY EAI Nano套件下的位置定義如下所示,占用J3的bit1~18

MIPI CSI-2的紅外攝像頭在EASY EAI Nano套件下的位置定義如下所示,占用J3的bit22~37

3.png

1.2.2 USB攝像頭

USB攝像頭是基于UVC驅(qū)動(dòng)工作的,

USB設(shè)備具有熱插拔、易擴(kuò)展等特性,故應(yīng)用場(chǎng)合十分廣泛。

Linux系統(tǒng)通過(guò)sysfs管理USB設(shè)備。

EASY EAI nano評(píng)估套件上集成了多路USB接口,其中有2路USB2.0 Host、1路USB2.0 Device。

1.3 攝像頭操作的API介紹

EASY EAI nano已庫(kù)文件+頭文件的形式提供了攝像頭的使用,攝像頭的底層操作邏輯看不到,我們只需要關(guān)系頭文件中API接口的使用方法即可。

選項(xiàng) 描述
頭文件目錄 -I easyeai-api/peripheral_api/camera
庫(kù)文件目錄 -L easyeai-api/ peripheral_api/camera
庫(kù)連接參數(shù) -lcamera

easyeai-api/peripheral_api/camera/camera.h中的主要接口

/* usb camera */
int usbcamera_init(int bus, int port, int width, int height, int rot);
void usbcamera_exit(int bus, int port);
int usbcamera_getframe(int bus, int port, char *pbuf);
void usbcamera_preset_fps(int fps);
?
/* rgb camera */
int rgbcamera_init(int width, int height, int rot);
void rgbcamera_exit(void);
int rgbcamera_getframe(char *pbuf);
void rgbcamera_set_format(int format);
?
/* ir camera */
int ircamera_init(int width, int height, int rot);
void ircamera_exit(void);
int ircamera_getframe(char *pbuf);
void ircamera_set_format(int format);

1.4 測(cè)試?yán)?/h2>

三種攝像頭的使用方式類(lèi)似,RGB攝像頭IR攝像頭的使用方式幾乎一樣

RGB/IR攝像頭的使用:

// 打開(kāi)攝像頭
#define CAMERA_WIDTH          720
#define CAMERA_HEIGHT         1280
ret = rgbcamera_init(CAMERA_WIDTH, CAMERA_HEIGHT,  90);
?
//獲取圖片
ret = rgbcamera_getframe(pbuf);
?
//保存圖片
fp = fopen("/tmp/photo", "w");
fwrite(pbuf, 1, IMAGE_SIZE, fp);
fclose(fp);
?
//釋放攝像頭
rgbcamera_exit();

USB攝像頭的使用:

// 打開(kāi)攝像頭
#define CAMERA_WIDTH          720
#define CAMERA_HEIGHT         1280
ret = usbcamera_init(USB2_0, USB_DIRECT, CAMERA_WIDTH, CAMERA_HEIGHT,  90);
?
//獲取圖片
ret = usbcamera_getframe(USB2_0, USB_DIRECT, pbuf);
?
//保存圖片
fp = fopen("/tmp/photo", "w");
fwrite(pbuf, 1, IMAGE_SIZE, fp);
fclose(fp);
?
//釋放USB攝像頭
usbcamera_exit(USB2_0, USB_DIRECT);

以上測(cè)試函數(shù),會(huì)用攝像頭拍一張照片,并保存到/tmp目錄中。

2 顯示屏

2.1 DRM驅(qū)動(dòng)框架介紹

EASY EAI nano評(píng)估板上默認(rèn)支持5寸顯示屏(帶電容觸摸屏),分辨率為720x1280,EASY EAI nano產(chǎn)品使用DRM(Direct Rendering Manager)驅(qū)動(dòng)框架實(shí)現(xiàn)多應(yīng)用同時(shí)使用同一個(gè)顯示器的目的,而EASY-EAI-Toolkit的display庫(kù)則是對(duì)DRM的封裝。

4.png

2.2 顯示屏操作的API介紹

頭文件與庫(kù)文件

選項(xiàng) 描述
頭文件目錄 -I easyeai-api/peripheral_api/display
庫(kù)文件目錄 -L easyeai-api/ peripheral_api/display
庫(kù)鏈接參數(shù) -ldisplay

easyeai-api/peripheral_api/display/disp.h中的主要接口

/* 公共api */
void disp_preset_uiLayer(int enable);
?
/* 適合初次使用 */
int disp_init(int width, int height); //默認(rèn)輸入RGB888
void disp_exit(void);
void disp_commit(void *ptr, int data_len);
?
/* pro, 顯示多路視頻時(shí),或旋轉(zhuǎn)輸入圖像角度,或裁切圖像*/
int disp_init_pro(disp_screen_t *screen);
void disp_exit_pro(void);
void disp_commit_pro(void *ptr, int chn, int data_len);

一些參數(shù)的含義:

  • width:顯示區(qū)域?qū)挾?/span>
  • height:顯示區(qū)域高度
  • ptr:用戶(hù)空間的顯示內(nèi)容空間
  • data_len:輸入圖像數(shù)據(jù)內(nèi)存長(zhǎng)度
  • screen:顯示屏屬性,包含顯示區(qū)域大小、子窗口的描述等
  • chn:目標(biāo)窗口索引號(hào)

結(jié)構(gòu)體定義

typedef struct disp_win {
int enable;
int win_x;
int win_y;
int win_w;
int win_h;
int rotation;//順時(shí)針旋轉(zhuǎn)輸入圖像角度,支持90、180、270、0度
IMAGE_TYPE_E in_fmt;
int in_w;//輸入圖像寬度
int in_h;//輸入圖像高度
int HorStride;//輸入圖像水平步長(zhǎng)
int VirStride;//輸入圖像垂直步長(zhǎng)
/* 如果不設(shè)置crop系列參數(shù),則默認(rèn)拉伸原圖鋪滿(mǎn)整個(gè)win ;
 *設(shè)置crop則先裁切再把裁切后的圖像鋪滿(mǎn)整個(gè)win,以便保持圖像寬高比例
 */
int crop_x;//裁切起始X坐標(biāo)(基于旋轉(zhuǎn)前圖像的坐標(biāo)系)
int crop_y;//裁切起始Y坐標(biāo)(基于旋轉(zhuǎn)前圖像的坐標(biāo)系)
int crop_w;//裁切后的圖像寬度(以旋轉(zhuǎn)前的圖像為參考)
int crop_h;//裁切后的圖像高度(以旋轉(zhuǎn)前的圖像為參考)
} disp_win_t;
?
typedef struct disp_screen {
    int screen_width;
int screen_height;
disp_win_t wins[VMIX_MAX_CHN_NUM];
} disp_screen_t;

2.3 測(cè)試?yán)?/h2>

參考官方給的例程,進(jìn)行修改,增加通過(guò)參數(shù)顯示指定圖片的功能,測(cè)試不同圖片顯示到屏幕的效果。

my-display.c的主程序如下:

int main(int argc, char *argv[])
{
    char *img_path = IMAGE_PATH;
    if (argc == 2)
    {
        img_path = argv[1];
        printf("recv:%sn", img_path);
    }
        
int ret = 0;
    char *pbuf = NULL;
FILE *fp = NULL;
disp_screen_t screen = {0};
?
signal(SIGINT, sigterm_handler);
?
/* 1、準(zhǔn)備圖像數(shù)據(jù) */
pbuf = (char *)malloc(IMAGE_SIZE);
    if (!pbuf) {
        printf("malloc error: %s, %dn", __func__, __LINE__);
        return -1;
    }
fp = fopen(img_path, "r");
if (!fp) {
printf("fopen error: %s, %dn", __func__, __LINE__);
return -1;
}
    ret = fread(pbuf, 1, IMAGE_SIZE, fp);
fclose(fp);
if (ret != IMAGE_SIZE) {
printf("fread error: %s, %dn", __func__, __LINE__);
free(pbuf);
return -1;
}
?
/* 2、初始化顯示 */
screen.screen_width = DISP_WIDTH;
screen.screen_height = DISP_HEIGHT;
screen.wins[0].enable = 1;
    screen.wins[0].win_x = 0;
screen.wins[0].win_y = 0;
screen.wins[0].win_w = 720;
screen.wins[0].win_h = 1280;
    screen.wins[0].rotation = 0;
screen.wins[0].in_fmt = IMAGE_TYPE_RGB888;
screen.wins[0].in_w = DISP_WIDTH;
screen.wins[0].in_h = DISP_HEIGHT;
screen.wins[0].HorStride = DISP_WIDTH;
screen.wins[0].VirStride = DISP_HEIGHT;
?
ret = disp_init_pro(&screen);
if (ret) {
printf("error func:%s, line:%dn", __func__, __LINE__);
goto exit1;
}
?
/* 3、提交顯示 */
g_run = 1;
disp_commit_pro(pbuf, 0, IMAGE_SIZE);
    
while(g_run) {
sleep(1);
}
?
disp_exit_pro();
exit1:
free(pbuf);
pbuf = NULL;
    
    return ret;
}

修改CMakeLists.txt,增加如下內(nèi)容:

#--------------------------
# my-display
#--------------------------
link_directories(${toolkit_root}/peripheral_api/display)#-L
add_executable(my-display my-display.c)#-o
target_link_libraries(my-display pthread easymedia display)#-l
target_include_directories(my-display PRIVATE ${api_inc})#-I

在執(zhí)行函數(shù)時(shí),附加一個(gè)圖片的路徑參數(shù),可以顯示指定的圖片:

5.png

準(zhǔn)備一些測(cè)試圖片,格式為RGB888,分辨率720x1280,測(cè)試顯示兩張不同圖片的效果:

6.png

3 攝像頭+屏幕程序代碼分析

參考官方的攝像頭顯示例程,將紅外攝像頭、RGB攝像頭和USB攝像頭采集的畫(huà)面同時(shí)顯示到屏幕中,改寫(xiě)的測(cè)試代碼如下。

my-disp-cam.c的主程序如下:

int main()
{
	char *prgb = NULL;
	char *pir = NULL;
    char *pusb = NULL;
	int ret = 0;
	disp_screen_t screen = {0};
    
    bool bHasUSBCamear = false;

	signal(SIGINT, sigterm_handler);

	/* camera init */
	ret = rgbcamera_init(CAMERA_WIDTH, CAMERA_HEIGHT, 90);
	if (ret) {
		printf("error func:%s, line:%dn", __func__, __LINE__);
		goto exit_donothing;
	}
	ret = ircamera_init(CAMERA_WIDTH, CAMERA_HEIGHT, 270); //此角度由攝像頭模組決定
	if (ret) {
		printf("error func:%s, line:%dn", __func__, __LINE__);
		goto exit_freergb;
	}
    ret = usbcamera_init(USB2_0, USB_DIRECT, CAMERA_WIDTH, CAMERA_HEIGHT, 180);
	if (ret) {
		printf("error func:%s, line:%dn", __func__, __LINE__);
	}
    else
    {
        bHasUSBCamear = true;
    }

	/* display init */
	screen.screen_width = DISP_WIDTH;
	screen.screen_height = DISP_HEIGHT;
    
	screen.wins[0].enable = 1;
	screen.wins[0].in_fmt = IMAGE_TYPE_RGB888;
	screen.wins[0].in_w = CAMERA_WIDTH;
	screen.wins[0].in_h = CAMERA_HEIGHT;
	screen.wins[0].rotation = 0;
	screen.wins[0].win_x = 0;
	screen.wins[0].win_y = 0;
	screen.wins[0].win_w = 360;
	screen.wins[0].win_h = 640;
    
	screen.wins[1].enable = 1;
	screen.wins[1].in_fmt = IMAGE_TYPE_RGB888;
	screen.wins[1].in_w = CAMERA_WIDTH;
	screen.wins[1].in_h = CAMERA_HEIGHT;
	screen.wins[1].rotation = 0;
	screen.wins[1].win_x = 360;
	screen.wins[1].win_y = 0;
	screen.wins[1].win_w = 360;
	screen.wins[1].win_h = 640;
    
    if (bHasUSBCamear)
    {
        screen.wins[2].enable = 1;
        screen.wins[2].in_fmt = IMAGE_TYPE_RGB888;
        screen.wins[2].in_w = CAMERA_WIDTH;
        screen.wins[2].in_h = CAMERA_HEIGHT;
        screen.wins[2].rotation = 0;
        screen.wins[2].win_x = 0;
        screen.wins[2].win_y = 640;
        screen.wins[2].win_w = 720;
        screen.wins[2].win_h = 640;
    }
    
	ret = disp_init_pro(&screen);
	if (ret) {
		printf("error func:%s, line:%dn", __func__, __LINE__);
		goto exit_freergb_freeir;
	}

	/* alloc buffer for cap data */
	prgb = (char *)malloc(IMAGE_SIZE);
	if (!prgb) {
		printf("error: %s, %dn", __func__, __LINE__);
		ret = -1;
		goto exit_freergb_freeir_freedisp;
	}
	pir = (char *)malloc(IMAGE_SIZE);
	if (!pir) {
		printf("error: %s, %dn", __func__, __LINE__);
		ret = -1;
		goto exit_freergb_freeir_freedisp_freeprgb;
	}
    if (bHasUSBCamear)
    {
        pusb = (char *)malloc(IMAGE_SIZE);
            if (!pusb) {
            printf("error: %s, %dn", __func__, __LINE__);
        }
    }

	g_run = 1;
	while(g_run) {
        ret = ircamera_getframe(pir);
		if (!ret) {
			disp_commit_pro(pir, 0, IMAGE_SIZE);
		}
		ret = rgbcamera_getframe(prgb);
		if (!ret) {
			disp_commit_pro(prgb, 1, IMAGE_SIZE);
		}
        if (bHasUSBCamear)
        {
            ret = usbcamera_getframe(USB2_0, USB_DIRECT, pusb);
            if (!ret) {
                disp_commit_pro(pusb, 2, IMAGE_SIZE);
            }
        }
	}
    
    if (bHasUSBCamear)
    {
        free(pusb);
        pusb = NULL;
        usbcamera_exit(USB2_0, USB_DIRECT);
    }

	free(pir);
	pir = NULL;
exit_freergb_freeir_freedisp_freeprgb:
	free(prgb);
	prgb = NULL;
exit_freergb_freeir_freedisp:
	disp_exit_pro();
exit_freergb_freeir:
	ircamera_exit();
exit_freergb:
	rgbcamera_exit();
exit_donothing:
    return ret;
}

修改CMakeLists.txt,增加如下內(nèi)容:

#--------------------------
# my-disp-cam
#--------------------------
link_directories(${toolkit_root}/peripheral_api/display)	#-L
link_directories(${toolkit_root}/peripheral_api/camera)		#-L
add_executable(my-disp-cam my-disp-cam.c)		#-o
target_link_libraries(my-disp-cam pthread rkaiq rkfacial rga easymedia display camera)	#-l
target_include_directories(my-disp-cam PRIVATE ${api_inc})	#-I

測(cè)試效果如下圖左圖,3個(gè)攝像頭可以同時(shí)顯示到屏幕,實(shí)測(cè)當(dāng)攝像頭運(yùn)動(dòng)時(shí),屏幕顯示的畫(huà)面也十分流暢。

另外,還可以修改攝像頭和屏幕的顯示方向,如下圖右圖,就是將USB攝像頭橫屏顯示的效果。

7.png

4 總結(jié)

本篇對(duì)EASY EAI Nano的屏幕和攝像頭的顯示功能進(jìn)行測(cè)評(píng),測(cè)試了屏幕顯示不同的圖片,屏幕顯示不同的攝像頭(MIPI紅外攝像頭、MIPI RGB攝像頭、外接USB攝像頭),以及多個(gè)攝像頭的同時(shí)顯示與屏幕顯示方向的測(cè)試。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5081

    瀏覽量

    97705
  • 靈眸
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    3212
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    視美泰開(kāi)源鴻蒙系統(tǒng)外設(shè)攝像頭模塊演示#OpenHarmony

    攝像頭
    深圳市視美泰技術(shù)股份有限公司
    發(fā)布于 :2024年12月16日 17:52:06

    安防監(jiān)控攝像頭氣密性測(cè)試案例-連拓精密#攝像頭氣密檢測(cè)設(shè)備

    攝像頭
    連拓精密科技
    發(fā)布于 :2024年12月11日 15:00:21

    攝像頭及紅外成像的基本工作原理

    本文介紹了攝像頭及紅外成像的基本工作原理,攝像頭可以將看到的圖像真實(shí)的呈現(xiàn)出來(lái),所見(jiàn)即所得! 攝像頭如何工作? 攝像頭可以將看到的圖像真實(shí)的呈現(xiàn)出來(lái),所見(jiàn)即所得。 ? 比如人眼看到的一
    的頭像 發(fā)表于 11-25 09:28 ?507次閱讀
    <b class='flag-5'>攝像頭</b>及紅外成像的基本工作原理

    用于環(huán)視和CMS攝像頭系統(tǒng)的四通道攝像頭應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《用于環(huán)視和CMS攝像頭系統(tǒng)的四通道攝像頭應(yīng)用程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-11 10:02 ?0次下載
    用于環(huán)視和CMS<b class='flag-5'>攝像頭</b>系統(tǒng)的四通道<b class='flag-5'>攝像頭</b>應(yīng)用程序

    使用myAGV、Jetson Nano主板和3D攝像頭,實(shí)現(xiàn)了RTAB-Map的三維建圖功能!

    具備SLAM雷達(dá)導(dǎo)航功能,Jetson Nano提供了強(qiáng)大的計(jì)算能力,適合處理復(fù)雜的SLAM任務(wù)。通過(guò)引入3D攝像頭,我們能夠?qū)?b class='flag-5'>攝像頭采集的深度信息融入到地圖中,使其不僅具有平面數(shù)據(jù),
    的頭像 發(fā)表于 08-28 10:22 ?645次閱讀
    使用myAGV、Jetson <b class='flag-5'>Nano</b>主板和<b class='flag-5'>3</b>D<b class='flag-5'>攝像頭</b>,實(shí)現(xiàn)了RTAB-Map的三維建圖功能!

    CANape Option DA中參考攝像頭的標(biāo)定演示#CANape

    攝像頭
    北匯信息POLELINK
    發(fā)布于 :2024年07月30日 12:37:29

    安防攝像頭IPC芯片的應(yīng)用

    安防攝像頭IPC芯片的應(yīng)用
    的頭像 發(fā)表于 07-22 09:42 ?802次閱讀
    安防<b class='flag-5'>攝像頭</b>IPC芯片的應(yīng)用

    基于FPGA的攝像頭心率檢測(cè)裝置設(shè)計(jì)

    開(kāi)始測(cè)量心率時(shí),系統(tǒng)屏幕提醒“Hold On!”。 (3)變化信號(hào)提取部分 由于心率引起的膚色變化非常微弱,其引起的數(shù)值變化量與膚色基值相比會(huì)被忽略且會(huì)被攝像頭感光元件的噪聲信號(hào)所淹沒(méi)。 噪聲
    發(fā)表于 07-01 17:58

    esp32是如何與攝像頭連接的呢?

    新手。看了esp32的模組中沒(méi)有攝像頭的硬件接口,請(qǐng)問(wèn)它是如何與攝像頭連接的呢
    發(fā)表于 06-28 15:01

    攝像頭模組電路

    求助各位大佬,想問(wèn)一下攝像頭模組硬件電路大概需要怎么設(shè)計(jì)
    發(fā)表于 06-07 10:29

    【LicheeRV-Nano開(kāi)發(fā)套件試用體驗(yàn)】LicheeRV-Nano上的IAI技術(shù)應(yīng)用

    開(kāi)發(fā)板,之前試用過(guò) DUO對(duì)其清奇骨骼,小巧的身板,強(qiáng)勁的性能所吸引,在知道其更加強(qiáng)悍的兄弟板出來(lái)后,第一時(shí)間申請(qǐng)到試用。 此次開(kāi)發(fā)板包含物料比較充分,除了有Nano開(kāi)發(fā)板,還有帶觸摸的全貼合
    發(fā)表于 03-07 17:32

    【LicheeRV-Nano開(kāi)發(fā)套件試用體驗(yàn)】+智能平板開(kāi)發(fā)

    開(kāi)發(fā) 6.攝像頭開(kāi)發(fā) 7.AI人臉識(shí)別、運(yùn)動(dòng)偵測(cè)、姿態(tài)檢測(cè)調(diào)試開(kāi)發(fā) 預(yù)期成果 1.熟練算能軟件工具使用,代碼編寫(xiě)調(diào)試 2.外設(shè)功能驅(qū)動(dòng)達(dá)成相應(yīng)效果 3.網(wǎng)絡(luò)、音頻調(diào)通 4.界面設(shè)計(jì)的顯示和操作
    發(fā)表于 03-06 23:05

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

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

    EASY EAI Nano】RV1126實(shí)時(shí)讀取攝像頭并進(jìn)行yolo檢測(cè)顯示

    實(shí)現(xiàn)了三個(gè)并行模塊,分別是 攝像頭讀取,使用opencv轉(zhuǎn)換到適合大小 yolo檢測(cè) 托管到Qt進(jìn)行現(xiàn)實(shí) 檢測(cè)的DEMO從每幀10次改到每幀2次,可以看到還是具備一定實(shí)時(shí)性。 代碼:倉(cāng)庫(kù)
    發(fā)表于 01-14 18:53
    主站蜘蛛池模板: 天天爽夜夜爽人人爽曰喷水| 亚色在线观看| 欧美feer| 美女网站视频一区| 九九全国免费视频| 波多野结衣在线网址| 夜夜爽网站| 日韩一级片免费观看| 国产精品久久福利网站| 免费h视频网站| 久久精品国产99精品最新| 最新丁香六月| 四虎最新网站| 女人被狂躁视频免费网站| 国产在线播| 午夜看片在线| 国产一级大片免费看| 男人操女人视频免费| 九九九国产在线| 性欧美欧美之巨大69| 欧美色久| 给我免费播放片黄色| 天天综合网色| 3344免费播放观看视频| 亚洲卡5卡6卡7国色天香| 一个色在线视频| 欧美日韩一区在线观看| 国产精品资源网| 天天干夜夜欢| 欧美在线网站| 亚洲天堂2013| 毛片免费看网站| 午夜免费福利网站| 欧美网色| 亚洲国产精品久久婷婷| 男人都懂的网址在线看片| 在线观看免费视频| 天堂最新版免费观看| 久久国产99| 香焦视频在线观看黄| 美女拍拍拍爽爽爽爽爽爽|