最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用OpenCV實現(xiàn)讀取和顯示圖像與視頻

 更新時間:2024年11月03日 08:43:01   作者:燕鵬01  
OpenCV 是一個強大的計算機視覺庫,廣泛應用于圖像處理和視頻處理等領域,本文將詳細介紹如何使用 OpenCV 在 Python 中讀取和顯示圖像以及視頻,希望對大家有所幫助

概述

OpenCV 是一個強大的計算機視覺庫,廣泛應用于圖像處理和視頻處理等領域。本文將詳細介紹如何使用 OpenCV 在 Python 中讀取和顯示圖像以及視頻,并通過具體的代碼示例來展示整個過程。

環(huán)境準備

在開始之前,請確保已經(jīng)安裝了 OpenCV 庫。如果沒有安裝,可以通過以下命令進行安裝:

pip install opencv-python

完整代碼

import cv2


def read_img():
    """
    讀取圖片
    :return:
    """
    img = cv2.imread(r'./resources/lena.jpeg')
    cv2.imshow('lena img', img)
    cv2.waitKey(0)


def read_video():
    """
    讀取視頻/攝像頭
    :return:
    """
    # 視頻路徑為獲取資源,id序號則為攝像頭id,0為默認第一個攝像頭id
    cap = cv2.VideoCapture(r'./resources/video.mp4')
    # cap = cv2.VideoCapture(0)
    # cap propId 0-18
    cap.set(3, 800)    # 3為寬
    cap.set(4, 600)  # 4為高
    cap.set(10, 5)  # 10為亮度

    while True:
        success, img = cap.read()
        if success:
            cv2.imshow('video', img)
        else:
            break

        if cv2.waitKey(1) & 0xFF == ord('q'):
            # 有按鍵則返回按鍵ASCII碼,無按鍵則返回-1
            # 取按鍵返回ASCII碼二進制后8位,為按鍵'q'退出循環(huán)
            break

    cap.release()
    cv2.destroyAllWindows()


if __name__ == '__main__':
    # read_img()
    read_video()

示例代碼詳解

1. 讀取和顯示圖像

import cv2

def read_img():
    """
    讀取圖片
    :return:
    """
    img = cv2.imread(r'./resources/lena.jpeg')
    cv2.imshow('lena img', img)
    cv2.waitKey(0)

讀取圖像:

img = cv2.imread(r'./resources/lena.jpeg')

使用 cv2.imread() 函數(shù)讀取圖像文件。路徑使用原始字符串(r'...')以避免轉義字符的問題。

顯示圖像:

cv2.imshow('lena img', img)
cv2.waitKey(0)

使用 cv2.imshow() 函數(shù)顯示圖像。第一個參數(shù)是窗口名稱,第二個參數(shù)是要顯示的圖像。

cv2.waitKey(0) 使程序等待用戶按鍵后退出。0 表示無限期等待。

2. 讀取和顯示視頻

def read_video():
    """
    讀取視頻/攝像頭
    :return:
    """
    # 視頻路徑為獲取資源,id序號則為攝像頭id,0為默認第一個攝像頭id
    cap = cv2.VideoCapture(r'./resources/video.mp4')
    # cap = cv2.VideoCapture(0)
    # cap propId 0-18
    cap.set(3, 800)    # 3為寬
    cap.set(4, 600)    # 4為高
    cap.set(10, 5)     # 10為亮度

    while True:
        success, img = cap.read()
        if success:
            cv2.imshow('video', img)
        else:
            break

        if cv2.waitKey(1) & 0xFF == ord('q'):
            # 有按鍵則返回按鍵ASCII碼,無按鍵則返回-1
            # 取按鍵返回ASCII碼二進制后8位,為按鍵'q'退出循環(huán)
            break

    cap.release()
    cv2.destroyAllWindows()

讀取視頻或攝像頭:

cap = cv2.VideoCapture(r'./resources/video.mp4')
# cap = cv2.VideoCapture(0)

使用 cv2.VideoCapture() 函數(shù)讀取視頻文件或攝像頭。傳入視頻文件路徑或攝像頭ID(例如 0 表示默認攝像頭)。

設置視頻屬性:

cap.set(3, 800)    # 3為寬
cap.set(4, 600)    # 4為高
cap.set(10, 5)     # 10為亮度

使用 cap.set() 方法設置視頻捕獲屬性。參數(shù) 3 表示寬度,4 表示高度,10 表示亮度。

讀取和顯示視頻幀:

while True:
    success, img = cap.read()
    if success:
        cv2.imshow('video', img)
    else:
        break

使用 cap.read() 方法讀取視頻幀。如果讀取成功,success 為 True,img 為當前幀的圖像;否則,success 為 False,表示視頻結束或讀取失敗。

按鍵檢測:

if cv2.waitKey(1) & 0xFF == ord('q'):
    break

使用 cv2.waitKey(1) 等待1毫秒,如果有按鍵按下,則返回按鍵的ASCII碼。& 0xFF 用于取按鍵ASCII碼的后8位。ord('q') 返回字符 ‘q’ 的ASCII碼。如果按鍵為 ‘q’,則退出循環(huán)。

釋放資源:

cap.release()
cv2.destroyAllWindows()

使用 cap.release() 釋放視頻捕獲對象。

使用 cv2.destroyAllWindows() 關閉所有OpenCV窗口。

主函數(shù)

if __name__ == '__main__':
    # read_img()
    read_video()

主函數(shù):

if __name__ == '__main__': 確保當腳本直接運行時才執(zhí)行以下代碼。

調用 read_img() 或 read_video() 函數(shù)來讀取和顯示圖像或視頻。

總結

本文詳細介紹了如何使用 OpenCV 在 Python 中讀取和顯示圖像以及視頻,并通過具體的代碼示例展示了整個過程。通過使用 cv2.imread()、cv2.imshow()、cv2.VideoCapture() 和 cv2.waitKey() 等函數(shù),我們可以輕松地處理圖像和視頻數(shù)據(jù)。

到此這篇關于使用OpenCV實現(xiàn)讀取和顯示圖像與視頻的文章就介紹到這了,更多相關OpenCV讀取顯示圖像與視頻內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

昌宁县| 陇西县| 南丹县| 黔江区| 铁岭市| 寿光市| 城口县| 抚宁县| 宜君县| 定襄县| 衡阳县| 耒阳市| 桦甸市| 双柏县| 竹北市| 阿坝县| 徐水县| 新竹市| 阜城县| 饶阳县| 新乡县| 民乐县| 新竹市| 泾阳县| 裕民县| 祁阳县| 新安县| 嘉善县| 太原市| 南华县| 井陉县| 石河子市| 富阳市| 新沂市| 和顺县| 民乐县| 阳江市| 赞皇县| 公安县| 鄂温| 柘荣县|