python調(diào)用攝像頭的示例代碼
一、打開攝像頭
import cv2import numpy as npdef video_demo(): capture = cv2.VideoCapture(0)#0為電腦內(nèi)置攝像頭 while(True): ret, frame = capture.read()#攝像頭讀取,ret為是否成功打開攝像頭,true,false。 frame為視頻的每一幀圖像 frame = cv2.flip(frame, 1)#攝像頭是和人對(duì)立的,將圖像左右調(diào)換回來正常顯示。 cv2.imshow('video', frame) c = cv2.waitKey(50) if c == 27: breakvideo_demo()cv2.destroyAllWindows()
二、打開攝像頭并截圖
import cv2cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打開攝像頭while (1): # get a frame ret, frame = cap.read() frame = cv2.flip(frame, 1) # 攝像頭是和人對(duì)立的,將圖像左右調(diào)換回來正常顯示 # show a frame cv2.imshow('capture', frame) # 生成攝像頭窗口 if cv2.waitKey(1) & 0xFF == ord(’q’): # 如果按下q 就截圖保存并退出 cv2.imwrite('test.png', frame) # 保存路徑 breakcap.release()cv2.destroyAllWindows()
三、打開攝像頭并不斷實(shí)時(shí)截屏
def video_demo(): print(’開始’) cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 電腦自身攝像頭 i = 0#定時(shí)裝置初始值 photoname = 1#文件名序號(hào)初始值 while True: i = i + 1 reg, frame = cap.read() frame = cv2.flip(frame, 1) # 圖片左右調(diào)換 cv2.imshow(’window’, frame) if i == 50: # 定時(shí)裝置,定時(shí)截屏,可以修改。 filename = str(photoname) + ’.png’ # filename為圖像名字,將photoname作為編號(hào)命名保存的截圖 cv2.imwrite(’C:/Users/Administrator/Desktop/m’ + ’’ + filename, frame) # 截圖 前面為放在桌面的路徑 frame為此時(shí)的圖像 print(filename + ’保存成功’) # 打印保存成功 i = 0 # 清零 photoname = photoname + 1 if photoname >= 20: # 最多截圖20張 然后退出(如果調(diào)用photoname = 1 不用break為不斷覆蓋圖片)# photoname = 1break if cv2.waitKey(1) & 0xff == ord(’q’): break # 釋放資源 cap.release()video_demo()cv2.destroyAllWindows()
以上就是python調(diào)用攝像頭的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于python調(diào)用攝像頭的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析2. python excel和yaml文件的讀取封裝3. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML4. python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)5. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問題及解決6. python爬蟲實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊7. App啟動(dòng)優(yōu)化-Android性能優(yōu)化8. 詳解docker pull 下來的鏡像都存到了哪里9. Docker鏡像管理常用操作代碼示例10. python編寫實(shí)現(xiàn)抽獎(jiǎng)器
