python基礎 使用opencv實時讀取攝像頭

2021-10-04 15:10:52 字數 1601 閱讀 1103

1.練習使用opencv函式庫呼叫攝像頭

import cv2

video = cv2.videocapture(0)

fps = video.get(cv2.cap_prop_fps)

print(fps)

size = (int(video.get(cv2.cap_prop_frame_width)), int(video.get(cv2.cap_prop_frame_height)))

print(size)

while true:

ret, frame = video.read()

cv2.imshow("a video", frame)

c = cv2.waitkey(1)

if c == 27:

break

video.release()

cv2.destroyallwindows()

執行一下

攝像頭被成功開啟

2.**解釋

import cv2 匯入opencv庫
video = cv2.videocapture(0)
videocapture()中引數是0,表示開啟筆記本的內建攝像頭

video = cv2.videocapture('/home/liuze/桌面/ros_py_lane/test.mp4')

fps = video.get(cv2.cap_prop_fps)

print(fps)

size = (int(video.get(cv2.cap_prop_frame_width)), int(video.get(cv2.cap_prop_frame_height)))

print(size)

獲取影象的尺寸

ret, frame = video.read()
cv2.imshow("a video", frame)
c = cv2.waitkey(1)
顯示完一幀後要等待多少毫秒顯示下一幀,一秒是1000毫秒

我這裡引數是1,表示延時1ms切換到下一幀影象

引數過大如cv2.waitkey(1000),會因為延時過久而卡頓感覺到卡頓

if c == 27:

break

c得到的是鍵盤輸入的ascii碼,esc鍵對應的ascii碼是27,c = cv2.waitkey(1)等待輸入乙個字元,當輸入的字元是esc鍵(對應的ascii碼是27),即當按esc鍵,執行if然後程式break就退出

video.release()
cv2.destroyallwindows()
關閉所有的窗

安卓使用ImageView顯示OpenCV Mat

對opencvmat 型進行測試,c 的highgui顯示函式是無效的,因為視窗不能直接從android介面彈出。需要使用imageview進行顯示以便檢視影象處理的結果,因此我借鑑了少許 suppresslint sdcardpath private int tracktestcv private...

不同版本的python共用乙個opencv

相關參考 unzip opencv 3.3.0.zip cd opencv 3.3.0 cmake d with gtk 2 x on d cmake install prefix usr local make j8 make j8表示開8個執行緒來進行編譯 make install 編譯完成之後o...

Python基礎 使用 slots

定義乙個特殊的slots變數,來限制該class例項能新增的屬性 示例 usr bin env python3 coding utf 8 slots class student1 object pass defruntest1 s student1 s.name 蠟筆小新 s.age 6 s.sco...