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

opencv基礎(chǔ): 視頻,攝像頭讀取與保存的常用方法

這篇具有很好參考價值的文章主要介紹了opencv基礎(chǔ): 視頻,攝像頭讀取與保存的常用方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

當然還可以從視頻中抓取截圖,所以現(xiàn)在聊一下常用的抓取視頻截圖的的方法。

VideoCapture 方法

 cv2.VideoCapture();
 cv2.VideoCapture( device);
 cv2.VideoCapture(filename);

上面有三種構(gòu)造方法,

  • 第一種是無法構(gòu)造方法。

  • 第二種參數(shù)device是一個數(shù)字。

    一般筆記本如此寫cv2.VideoCapture(0); 因為默認是0 ,如果有多個攝像頭,就需要看設(shè)置的攝像頭代表的數(shù)字了。

  • 第二種參數(shù)device是一個字符串。

    其代表是從視頻文件種得到幀。

release 方法

釋放資源的方法:

cap = cv2.VideoCapture();
cap.release()

read 方法

read方法就是讀取視頻的幀的方法。

cap = cv2.VideoCapture();
cap.read()
  • read() 方法返回的有兩個值
    • 第一個值:為狀態(tài)值,讀到幀就是true
    • 第二個值:返回的視頻幀,通俗的說就是圖片

來一個例子:

import  cv2
Cap = cv2.VideoCapture("1.mp4");
flag,phto= Cap.read();

cv2.namedWindow("Wind", cv2.WINDOW_NORMAL)
# cv2.resizeWindow("Wind", 1920, 1080)
cv2.imshow("Wind",phto)

key=cv2.waitKey(0)

if key=="q":
    cv2.destroyWindow()
Cap.release()

但是如果觀察效果的話,會發(fā)現(xiàn)這是窗口只有鏡頭內(nèi)容。

opencv基礎(chǔ): 視頻,攝像頭讀取與保存的常用方法,python基礎(chǔ),opencv,音視頻,人工智能

所以需要用一個while循環(huán)

import  cv2
Cap = cv2.VideoCapture("1.mp4");
cv2.namedWindow("Wind", cv2.WINDOW_NORMAL)
# cv2.resizeWindow("Wind", 1920, 1080)
while True:
    flag, phto = Cap.read();
    if flag:
        cv2.imshow("Wind",phto)
        key=cv2.waitKey(1)
        if(key & 0xFF == ord('q')):
             break
    else:
        break
Cap.release()
#釋放VideoWriter
Cap.release()
cv2.destroyAllWindows()

isOpened方法

這個方法是判斷攝像頭和文件是發(fā)可以正常打開,返回True 或 False:

# Cap = cv2.VideoCapture(1);
Cap = cv2.VideoCapture("1.mp4");
# 可以使用判斷是否攝像頭打開 作為標識符值
Cap.isOpened() 

可以讀取文件的方法修改為:

import  cv2
# 如果是通過攝像頭的話
# Cap = cv2.VideoCapture(1);
Cap = cv2.VideoCapture("1.mp4");
cv2.namedWindow("Wind", cv2.WINDOW_NORMAL)
# cv2.resizeWindow("Wind", 1920, 1080)
# Cap.isOpened():  可以使用判斷是否攝像頭打開  以及文件是否可以正常打開
while Cap.isOpened():
    flag, phto = Cap.read();
    if flag:
        cv2.imshow("Wind",phto)
        # cv2.resizeWindow("Wind", 1920, 1080)
        key=cv2.waitKey(1)
        if(key & 0xFF == ord('q')):
             break
    else:
        break
Cap.release()
#釋放VideoWriter
Cap.release()
cv2.destroyAllWindows()

補充

這里補充一點 如果再循環(huán)外:

cv2.resizeWindow("Wind", 1920, 1080)

只會在循環(huán)種呈現(xiàn)一次,如果真的需要,那就行說在循環(huán)體內(nèi)再寫一遍。

VideoWriter方法

有時候,打開攝像頭等,需要將內(nèi)容保存到本地,所以就需要這個方法:

如下:

cv2.VideoWriter(filename, fourcc, fps, frameSize, isColor)
  1. filename(必選):要寫入的視頻文件的名稱。

  2. fourcc(必選):用于指定視頻編解碼器的4個字符代碼。例如,'MJPG’表示Motion JPEG編碼。

    fourcc = cv2.VideoWriter_fourcc(*'MJPG')
    
  3. fps(必選):視頻的幀率,以每秒幀數(shù)(FPS)為單位。

  4. frameSize(必選):視頻幀的大小,以像素為單位。

  5. isColor(可選):一個布爾值,指示是否使用彩色。如果為True,則使用彩色,否則為灰度。

filename = 'tang1.avi'
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
fps = 30.0
frameSize = (640, 480)
isColor = True

# 創(chuàng)建VideoWriter對象
out = cv2.VideoWriter(filename, fourcc, fps, frameSize, isColor)

不過這個等于創(chuàng)建了個對象,還需要進入寫入,所以需要在用如下方法:

#frame = cv2.imread('frame.jpg') 或者是視頻  flag, frame = Cap.read();
out.write(frame)

結(jié)合如下寫:文章來源地址http://www.zghlxwxcb.cn/news/detail-707502.html

import  cv2
# 如果是通過攝像頭的話
# Cap = cv2.VideoCapture(1);
Cap = cv2.VideoCapture("1.mp4");
cv2.namedWindow("Wind", cv2.WINDOW_NORMAL)
filename = 'tang1.avi'
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
fps = 30.0
frameSize = (640, 480)
isColor = True

# 創(chuàng)建VideoWriter對象
out = cv2.VideoWriter(filename, fourcc, fps, frameSize, isColor)
# cv2.resizeWindow("Wind", 1920, 1080)
# Cap.isOpened():  可以使用判斷是否攝像頭打開  以及文件是否可以正常打開
while Cap.isOpened():
    flag, frame = Cap.read();
    if flag:
        cv2.imshow("Wind",phto)
        out.write(frame)
        # cv2.resizeWindow("Wind", 1920, 1080)
        key=cv2.waitKey(1)
        if(key & 0xFF == ord('q')):
             break
    else:
        break
Cap.release()
#釋放VideoWriter
Cap.release()
cv2.destroyAllWindows()

到了這里,關(guān)于opencv基礎(chǔ): 視頻,攝像頭讀取與保存的常用方法的文章就介紹完了。如果您還想了解更多內(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)文章

  • opencv入門到精通——圖片,視頻,攝像頭的讀取與保存

    opencv入門到精通——圖片,視頻,攝像頭的讀取與保存

    OpenCV是一個流行的開源計算機視覺庫,由英特爾公司發(fā)起發(fā)展。它提供了超過2500個優(yōu)化算法和許多工具包,可用于灰度、彩色、深度、基于特征和運動跟蹤等的圖像處理和計算機視覺應(yīng)用。OpenCV主要使用C++語言編寫,同時也支持Python、Java、C等語言。由于其開源和廣泛使用的

    2024年02月08日
    瀏覽(26)
  • OpenCV 視頻處理(關(guān)于攝像頭和視頻文件的讀取、顯示、保存等等)

    OpenCV 視頻處理(關(guān)于攝像頭和視頻文件的讀取、顯示、保存等等)

    OpenCV不僅能夠處理圖像,還能夠處理視頻 視頻是由大量的圖像構(gòu)成的 ,這些圖像是以固定的時間間隔從視頻中獲取的。這樣,就能夠使用圖像處理的方法對這些圖像進行處理,進而達到處理視頻的目的。要想處理視頻,需要先對視頻進行讀取、顯示、保存等相關(guān)操作。為此

    2024年03月14日
    瀏覽(23)
  • OpenCV中讀取、顯示、保存攝像頭視頻講解與實戰(zhàn)(附Python源碼)

    OpenCV中讀取、顯示、保存攝像頭視頻講解與實戰(zhàn)(附Python源碼)

    需要源碼請點贊關(guān)注收藏后評論區(qū)留言私信~~~ OpenCV不僅能夠處理圖像,還能夠處理視頻。視頻是由大量的圖像構(gòu)成的,這些圖像以固定的時間間隔從視頻中獲取。這樣,就能夠使用圖像處理的方法對這些圖像進行處理,進而達到處理視頻的目的。要處理視頻,需要先對視頻進

    2024年02月05日
    瀏覽(32)
  • 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日
    瀏覽(25)
  • 【opencv+圖像處理】(Gui Features in OpenCV) 1-1攝像頭:采集攝像頭視頻,讀取視頻幀,錄制視頻

    【opencv+圖像處理】(Gui Features in OpenCV) 1-1攝像頭:采集攝像頭視頻,讀取視頻幀,錄制視頻

    本專欄代碼總庫地址 https://github.com/xiawei20161308104/xv_opencv_tutorials 本節(jié)代碼路徑 xv_opencv_tutorials/VideoRelated/get_started_with_videos.py xv_opencv_tutorials/VideoRelated/get_and_set_video.py xv_opencv_tutorials/VideoRelated/save_video.py 參考官網(wǎng) https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html 從設(shè)備,可以是攝像

    2024年02月03日
    瀏覽(20)
  • 使用OpenCV調(diào)用攝像頭和讀取視頻圖片

    使用OpenCV調(diào)用攝像頭和讀取視頻圖片

    要捕獲視頻,你需要創(chuàng)建一個 VideoCapture 對象。它的參數(shù)是設(shè)備索引的名稱。設(shè)備索引就是指定哪個攝像頭的數(shù)字。正常情況下,內(nèi)部攝像頭可以通過傳入0來調(diào)用,傳遞1來選擇外置的第二個相機,以此類推。在此之后,你可以逐幀捕獲。但是在最后,不要忘記釋放俘虜。 直

    2024年02月08日
    瀏覽(28)
  • OpenCv:采集攝像頭視頻、讀取視頻幀與視頻錄制

    目錄 一、涉及OpenCv函數(shù) 二、什么是幀、幀的大小代表什么 三、攝像頭獲取視頻數(shù)據(jù) 四、錄制視頻并保存 從設(shè)備,可以是攝像頭可以是本地視頻, 獲取視頻的函數(shù) cv.VideoCapture()。 本函數(shù)作用在于創(chuàng)建一個VideoCapture或者VideoWriter對象,真正的讀取和寫入是通過創(chuàng)建的對象進行

    2024年02月16日
    瀏覽(31)
  • OpenCV保存攝像頭視頻和視頻文件操作實戰(zhàn)(附Python源碼)

    OpenCV保存攝像頭視頻和視頻文件操作實戰(zhàn)(附Python源碼)

    需要源碼和視頻請點贊關(guān)注收藏后評論區(qū)留言私信~~~ 在實際開發(fā)過程中,很多時候希望保存一段視頻,為此,OpenCV提供了VideoWriter類,下面先熟悉一下里面的各種方法 VideoWriter類的常用方法包括它的構(gòu)造方法,write方法和release方法 語法如下 VideoWriter object=cv2.VideoWriter(filename

    2024年02月07日
    瀏覽(23)
  • OpenCV4(C++)—— 視頻和攝像頭的加載、顯示與保存

    ??視頻或攝像頭的加載是使用 cv::VideoCapture 類。(這個類和 ifstream 類比較相似,視頻或攝像頭的加載和文本文件操作是大致相同。主要步驟:(1)加載(打開)視頻或視像頭。(2) 判斷加載是否成功。 (3)讀取內(nèi)容。(4)關(guān)閉。) 注意: ??(1)VideoCapture類變量同時

    2024年02月06日
    瀏覽(22)
  • VC++中使用OpenCV讀取圖像、讀取本地視頻、讀取攝像頭并實時顯示

    VC++中使用OpenCV讀取圖像、讀取本地視頻、讀取攝像頭并實時顯示

    最近閑著跟著油管博主murtazahassan,學(xué)習(xí)了一下LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision,對應(yīng)的Github源代碼地址為:Learn-OpenCV-cpp-in-4-Hours OpenCV是一個開源的計算機視覺庫,其官網(wǎng)地址為:https://opencv.org/,對應(yīng)Github源碼地址為:https://github.com/opencv/opencv,目前來說

    2024年01月17日
    瀏覽(36)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包