国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

jetson nano USB攝像頭使用openCv打開幀率低的問題

這篇具有很好參考價值的文章主要介紹了jetson nano USB攝像頭使用openCv打開幀率低的問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


最近玩jetson nano的時候發(fā)現(xiàn)openCv打開USB攝像頭幀率只有5幀,但是windows下能跑30幀,在網(wǎng)絡(luò)搜了一下原因發(fā)現(xiàn)是攝像頭默認讀取格式不對,需要改成MJPG格式幀率才能上去,于是使用CSDN上找的代碼,但是都不能工作,折騰了好久沒搞定,突然想到上 stacoverflow上看看,沒想到真的解決了,這里做一下記錄。

首先檢查攝像頭設(shè)備是否存在

1.安裝工具

sudo apt install v4l-utils 

2.查看攝像頭

ls /dev/video* 

3.查看攝像頭詳細參數(shù),看是否支持

v4l2-ctl --device=/dev/video0 --list-formats-ext

下面是我的攝像頭的參數(shù),openCV默認打開的是YUYV格式的,所以幀率低,只有5幀。
jetson nano usb攝像頭,opencv,計算機視覺,python
默認打開模式下的幀率
jetson nano usb攝像頭,opencv,計算機視覺,python
下面貼出參考網(wǎng)站的連接解決方式

完整代碼

給出完整代碼,測試能用,最大30幀,因為我的攝像頭只能支持30幀

import cv2
import time

width = 640
height = 480

gs_pipeline = f"v4l2src device=/dev/video0 io-mode=2 " \
              f"! image/jpeg, width={width}, height={height}, framerate=30/1, format=MJPG " \
              f"! nvv4l2decoder mjpeg=1 " \
              f"! nvvidconv " \
              f"! video/x-raw, format=BGRx " \
              f"! videoconvert " \
              f"! video/x-raw, format=BGR " \
              f"! appsink drop=1"

cap = cv2.VideoCapture(gs_pipeline, cv2.CAP_GSTREAMER)

# 每0.1S計算一次幀率
t = 0.1
counter = 0
fps = 0
start_time = time.time()

while (True):
    ret, frame = cap.read()
    img = frame.copy()
    # 測幀率
    counter += 1
    if (time.time() - start_time) > t:
        fps = counter / (time.time() - start_time)
        fps = str(fps)
        counter = 0
        start_time = time.time()
    cv2.putText(frame, "FPS {0}".format(fps), (10, 30), 1, 1.5, (255, 0, 255), 2)

    cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == 27:
        break
cap.release()
cv2.destroyAllWindows()

這段代碼很關(guān)鍵

gs_pipeline = f"v4l2src device=/dev/video0 io-mode=2 " \
              f"! image/jpeg, width={width}, height={height}, framerate=30/1, format=MJPG " \
              f"! nvv4l2decoder mjpeg=1 " \
              f"! nvvidconv " \
              f"! video/x-raw, format=BGRx " \
              f"! videoconvert " \
              f"! video/x-raw, format=BGR " \
              f"! appsink drop=1"

大神給出的解釋:

nvvidconv doesn’t support BGR, only BGRx (thus the videoconvert for BGRx->BGR). Caps also lacks a comma. Last, videoconvert only supports system memory, so have nvvidconv to output into system memory rather than NVMM memory.

幀率計算是參考CSDN上的代碼
jetson nano usb攝像頭,opencv,計算機視覺,python
現(xiàn)在能跑30幀了,大功告成!文章來源地址http://www.zghlxwxcb.cn/news/detail-739583.html

到了這里,關(guān)于jetson nano USB攝像頭使用openCv打開幀率低的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • ubuntu利用usb_cam打開攝像頭

    ubuntu利用usb_cam打開攝像頭

    想要標定多個相機,首先得把相機打開吧,usb_cam是針對usb攝像頭的ros驅(qū)動包,簡單來說就是得有這個功能包,才能在ros中把攝像頭打開。 首先打開終端,輸入: 這里melodic應(yīng)該根據(jù)自己Ubuntu系統(tǒng)進行靈活變換,例如我使用的Ubuntu18.04,那么我對應(yīng)的就是melodic版本。 驅(qū)動安裝

    2024年02月03日
    瀏覽(26)
  • 解決OpenCV使用USB攝像頭獲取高分辨率視頻低幀率、卡、果凍畫面的問題

    最近制作移動設(shè)備,需要安置多個usb攝像頭到電腦,踩了幾個坑,記錄一下解決方案。 不能使用分線器插多個usb攝像頭,同一時間只能加載一個。 usb攝像頭調(diào)高分辨率時,非??D,視頻畫面像果凍一樣,及不流暢 第二個情況具體描述: 攝像頭支持1920*1080? 60fps,opencv在

    2024年02月16日
    瀏覽(30)
  • jetson使用opencv和gstreamer調(diào)用csi攝像頭報錯:[ WARN:0] | GStreamer warning: Cannot query video position:

    出現(xiàn)類似的warning基本都是一個問題 VideoCapture加個參數(shù)就好了

    2024年02月12日
    瀏覽(25)
  • Opencv(C++)筆記--打開攝像頭、保存攝像頭視頻

    Opencv(C++)筆記--打開攝像頭、保存攝像頭視頻

    關(guān)鍵代碼語句: ① VideoCapture cam(0); ② cam.read(img); ③ imshow(\\\"cam\\\", img); 關(guān)鍵代碼: ①VideoWriter vw ②vw.open(): fourcc指定編碼格式(常見編碼方式)、 fps指定幀率、 Size指定大小 ③vw.write() 注:在Windows上執(zhí)行上述代碼可能會報以下錯誤: 解決方法:在輸出的網(wǎng)址下載對應(yīng)版本的庫

    2024年02月11日
    瀏覽(24)
  • opencv在linux上調(diào)用usb攝像頭進行拍照

    opencv在linux上調(diào)用usb攝像頭進行拍照

    一般video1就是usb攝像頭

    2024年02月06日
    瀏覽(20)
  • Python OpenCV讀取并顯示USB UVC攝像頭

    1. 安裝Python, 略。 2.?安裝 OpenCV:???????? 3. 預(yù)覽攝像頭畫面腳本:

    2024年02月13日
    瀏覽(29)
  • Python OpenCV 讀取USB攝像頭報錯問題解決

    Python OpenCV 讀取USB攝像頭報錯問題解決

    Traceback (most recent call last): ? File \\\"G:Python圖像識別相關(guān)學(xué)習(xí)視頻人體姿勢檢測.py\\\", line 32, in module ? ? cv2.imshow(\\\'image_title\\\',img) cv2.error: OpenCV(4.6.0) D:aopencv-pythonopencv-pythonopencvmoduleshighguisrcwindow.cpp:967: error: (-215:Assertion failed) size.width0 size.height0 in function \\\'cv::imshow\\\' Python 3.8.10 o

    2024年02月05日
    瀏覽(27)
  • RK3588安裝Qt+opencv+采集USB攝像頭畫面

    RK3588安裝Qt+opencv+采集USB攝像頭畫面

    Qt:5.12.8 opencv:3.4.14 qt安裝 ---------------------------------------------------------------------------------- 因為使用官網(wǎng)下載的版本始終安裝失敗,所以我可以直接使用命令行進行下載安裝: 1:首先先將ubuntu的軟件更新,并更新鏡像源 sudo apt-get update sudo apt-get upgrade 2:使用如下步驟安裝Qt

    2023年04月10日
    瀏覽(28)
  • 解決OpenCV捕捉USB攝像頭時抓幀失敗的問題

    解決OpenCV捕捉USB攝像頭時抓幀失敗的問題

    筆記本上外接了一個USB相機,用OpenCV打開攝像頭捕捉圖像結(jié)果報錯如下: 最開始的代碼: videoio(MSMF): can’t grab frame. Error: -2147024809這個報錯顯示為抓幀失敗,以前從來沒遇到過這個問題,程序是最簡化的程序了肯定不會有問題,一度懷疑是相機不能用。 其實這個問題只與U

    2024年02月04日
    瀏覽(24)
  • 通過Opencv打開指定攝像頭的方法

    我們使用Opencv打開攝像頭,一般是使用VideoCapture的open接口。 open接口要傳入一個標識符,如果只有1個攝像機,那么就是0,如果系統(tǒng)中有多個攝像機,那么只要將其向上增加即可。 系統(tǒng): 銀河麒麟linux系統(tǒng) 問題: 現(xiàn)在我插入了一個雙目攝像頭(兩個USB線,一個彩色,一個紅

    2024年02月13日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包