日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

OpenCV-Python入门教程2-打开摄像头

發(fā)布時(shí)間:2023/12/19 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 OpenCV-Python入门教程2-打开摄像头 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、打開攝像頭

import cv2
# 打開攝像頭并灰度化顯示
capture = cv2.VideoCapture(0)
while(True):
    # 獲取一幀
    ret, frame = capture.read()
    # 將這幀轉(zhuǎn)換為灰度圖
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame', gray)
    # 如果輸入q,則退出
    if cv2.waitKey(1) == ord('q'):
        break

cv2.VideoCapture(0)創(chuàng)建VideoCapture對(duì)象,參數(shù)0表示攝像頭編號(hào),如果你有兩個(gè)攝像頭,也可以傳入1

# 獲取捕獲的分辨率
# propId可以直接寫數(shù)字,也可以用OpenCV的符號(hào)表示
width, height = capture.get(3), capture.get(4)
print(width, height)
# 以原分辨率的一倍來捕獲
capture.set(cv2.CAP_PROP_FRAME_WIDTH, width * 2)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, width * 2)
640.0 480.0
我的攝像頭分辨率是640 x 480.通過cap.get(propId)可以獲取攝像頭的一些屬性。比如分辨率、亮度和對(duì)比度等。propId是從0~18的數(shù)字,我例舉幾個(gè):
cv::VideoCaptureProperties{
cv::CAP_PROP_POS_MSEC=0,
cv::CAP_PROP_POS_FRAMES=1,
cv::CAP_PROP_POS_AVI_RATIO=2,
cv::CAP_PROP_FRAME_WIDTH=3,
cv::CAP_PROP_FRAME_HEIGHT=4,
cv::CAP_PROP_FPS=5,
cv::CAP_PROP_FOURCC=6,
cv::CAP_PROP_FRAME_COUNT=7,
cv::CAP_PROP_FORMAT=8,
cv::CAP_PROP_MODE=9,
cv::CAP_PROP_BRIGHTNESS=10,
3:高度, 4:寬度, 5:幀率, 8:格式, 9:模式。。。
想了解完整的屬性列表可以參考:
VideoCaptureProperties。
也可以使用cap.set(propId, value)來修改屬性值

二、播放本地視頻

# 播放本地視頻
capture = cv2.VideoCapture('4.視頻展臺(tái)的使用視頻.mp4')
while(capture.isOpened()):
    ret, frame = capture.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame', gray)
    if cv2.waitKey(30) == ord('q'):
        break

和打開攝像頭一樣,把攝像頭編號(hào)換成視頻的路徑就可以播放本地視頻。cv2.waitKey的參數(shù)0表示無限等待,數(shù)值越大,視頻播放越慢,反之,則越快。通常設(shè)置25到30

三、錄制視頻

保存圖片使用的是cv2.imwrite(),要保存視頻,需要?jiǎng)?chuàng)建一個(gè)VideoWriter對(duì)象,需要傳入四個(gè)參數(shù)

輸出的文件名,如’output.avi’
編碼方式FourCC碼
幀率FPS
要保存的分辨率大小

FourCC是用來指定視頻編碼方式的四字節(jié)碼
capture = cv2.VideoCapture(0)
# 定義編碼方式并創(chuàng)建VideoWriter對(duì)象
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
outfile = cv2.VideoWriter('output.avi', fourcc, 25., (640, 480))
while(capture.isOpened()):
    ret, frame = capture.read()
    if ret:
        outfile.write(frame)  # 寫入文件
        cv2.imshow('frame', frame)
        if cv2.waitKey(1) == ord('q'):
            break
    else:
        break

四、小結(jié)

使用cv2.VideoCapture()創(chuàng)建視頻對(duì)象,然后在循環(huán)中一幀一陣顯示圖像

cap.get(propId)獲取視頻屬性,cap.set(propId, value)設(shè)置視頻屬性

cv2.VideoWriter()創(chuàng)建視頻寫入對(duì)象,用來錄制、保存視頻

參考網(wǎng)址:https://tianchi.aliyun.com/course/courseConsole?courseId=40992&chapterIndex=1&sectionIndex=3


總結(jié)

以上是生活随笔為你收集整理的OpenCV-Python入门教程2-打开摄像头的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。