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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python opencv视频处理教程_OpenCV+Python详细教程-图片+视频(一)-Go语言中文社区...

發布時間:2025/3/19 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python opencv视频处理教程_OpenCV+Python详细教程-图片+视频(一)-Go语言中文社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境

Python3以上的版本+OpenCV+PyCharm

圖片

目標

讀入,顯示,保存圖像

對應的函數:cv2.imread(),cv2.imshow(),cv.imwrite()

1.1讀取圖像

使用函數cv2.imshow()顯示圖像。

第一個參數:圖像的路徑。

在Python中可以直接在路徑前用字符r防止轉意,或者用斜杠"/"

r"C:UsersASUSDesktop1.jpg"

“C:/Users/ASUS/Desktop/1.jpg”

第二個參數:告訴函數應該如何讀取這幅圖片

cv2.IMREAD_COLOR:讀入一副彩色圖像。圖像的透明度會被忽略, 這是默認參數

cv2.IMREAD_GRAYSCALE:以灰度模式讀入圖像

src=cv2.imread(r"C:UsersASUSDesktop1.jpg",cv.IMREAD_GRAYSCALE)

1.2顯示圖像

使用函數 cv2.imshow() 顯示圖像。

第一個參數: 窗口的名字

第二個參數:是我們的圖像

cv2.imshow(“image”,src)

1.3保存圖像

使用函數 cv2.imwrite() 來保存一個圖像。首先需要一個文件名,之后才是你要保存的圖像。

cv2.imwrite(r"C:UsersASUSDesktop7.jpg",src)

其他

先創建窗口,在窗口在顯示圖像

使用函數 cv2.namedWindow()來創建一個窗口。

第一個參數:窗口名

第二個參數:cv2.WINDOW_AUTOSIZE 窗口根據圖像大小來顯示

cv2.WINDOW_NORMAL 自調窗口的大小

cv2.namedWindow(‘image’, cv2.WINDOW_NORMAL)

import cv2

src=cv2.imread(r"C:UsersASUSDesktop1.jpg",cv2.IMREAD_GRAYSCALE)

cv2.namedWindow('image', cv2.WINDOW_NORMAL) #創建窗口

cv2.imshow('image',src) #顯示圖像

cv2.waitKey(0) #等待鍵盤錄入

cv2.destroyAllWindows()#關閉窗口

窗口屏幕截圖將會像以下的樣子

cv2.waitKey() 是一個鍵盤綁定函數。檢查是否有鍵盤的輸入

cv2.destroyAllWindows() 可以輕易刪除任何我們建立的窗口。

如果 你想刪除特定的窗口可以使用 cv2.destroyWindow(),在括號內輸入你想刪 除的窗口名。

小結

import cv2

print("---------- Hello OpenCV ----------")

src=cv2.imread(r"C:UsersASUSDesktop1.jpg",cv2.IMREAD_GRAYSCALE)

cv2.namedWindow('image', cv2.WINDOW_NORMAL)

cv2.imshow("image",src)

k = cv2.waitKey(0)#獲取鍵盤輸入的值

if k == 27:#鍵盤輸入esc時關閉窗口

cv2.destroyAllWindows()

elif k == ord('s'):#鍵盤輸入s時保存圖像,且關閉窗口

cv2.imwrite(r"C:UsersASUSDesktop7.jpg",src)

cv2.destroyAllWindows()

視頻

目標

學會讀取、顯示、保存視頻

對應的函數::cv2.VideoCapture(),cv2.VideoWrite()

2.1用攝像頭捕獲視頻

為了獲取視頻,你應該創建一個 VideoCapture 對象。他的參數可以是 設備的索引號,或者是一個視頻文件。設備索引號就是在指定要使用的攝像頭。 一般的筆記本電腦都有內置攝像頭。所以參數就是 0。你可以通過設置成 1 或 者其他的來選擇別的攝像頭。之后,你就可以一幀一幀的捕獲視頻了。但是最后,別忘了停止捕獲視頻。

import cv2

cap = cv2.VideoCapture(0)

fourcc =cv2.VideoWriter_fourcc(*'XVID')

out = cv2.VideoWriter('output.avi', fourcc , 25.0, (640, 480),0)

while (True):

ret, frame = cap.read()

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

frame = cv2.flip(gray, 1)

out.write(frame)

cv2.imshow('frame', frame)

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

break

cap.release()

out.release()

cv2.destroyAllWindows()

代碼中:

cap = cv2.VideoCapture(0)

cv2.VideoCapture()中參數是0,表示打開筆記本的內置攝像頭,參數是視頻文件路徑則打開視頻

fourcc=cv2.VideoWriter_fourcc(*‘XVID’)

確定視頻的編碼格式

out = cv2.VideoWriter(‘output.avi’, fourcc , 25.0, (640, 480),0)

cv2.VideoWriter()第一個參數表示視頻的存放路徑,第二個參數表示視頻的編碼格式,后面的參數表示幀率、視頻寬高

最后表示顏色參數為0,表示黑白

ret, frame = cap.read()

cap.read()按幀讀取視頻,ret,frame是獲cap.read()方法的兩個返回值。其中ret是布爾值,如果讀取幀是正確的則返回True,如果文件讀取到結尾,它的返回值就為False。frame就是每一幀的圖像,利用循環讀取每一幀的圖像

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

cv2.cvtColor()第一個參數表示視頻或者圖像的變量,第二個參數表示圖像或者視頻顏色的選擇

cv2.COLOR_BGR2GRAY:視頻以黑白的形式顯示,用到圖片上,圖片則以灰度圖顯示。

frame = cv2.flip(gray, 1)

cv2.flip()第一個參數表示要旋轉的視頻,第二個參數表示旋轉的方向,0表示繞x軸旋轉,大于0的數表示繞y軸旋轉,小于0的負數表示繞x和y軸旋轉。

cv2.waitKey(1) & 0xFF

參數是1,表示延時1ms切換到下一幀圖像

cap.release()

釋放攝像頭

總結

以上是生活随笔為你收集整理的python opencv视频处理教程_OpenCV+Python详细教程-图片+视频(一)-Go语言中文社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。