cv2.show()&cv2.waitKey()&cv2.VideoCapture()的使用

總結幾個常用個函數的使用

cv2.show()

這個函數的作用簡單,就是現實圖片,這個時候需要穿進去兩個參數。

cv2.imshow('顯示窗口名稱',圖像數組)

顯示窗口的名稱寫在雙引號裏,後面加上圖像數組,這裏就是使用cv2.imread函數讀取的數據下面就是例子

import cv2
img=cv2.imread('cat.jpg')
cv2.imshow("img", img)
cv2.waitKey(0)    
cv2.destroyAllWindows() 

cv2.waitKey()

cv2.waitKey(delay)
這是一個鍵盤綁定函數。它的參數是以毫秒爲單位的時間。函數將等待指定的毫秒以等待任何鍵盤事件。如果在這段時間內按任何鍵,程序將繼續。如果0被傳遞,它將無限期地等待鍵筆劃。它還可以設置爲檢測特定的按鍵筆畫。具體可以看下面的代碼。

import cv2#導入cv2
image = cv2.imread('MyPic.png')#讀入一副圖片
cv2.imshow('MyPic.png',image)#展示圖片同時等等案件鍵入。這裏64與32位機器會有所不同這裏是64位
k = cv2.waitKey(0) & 0xFF
if k == 27: # wait for ESC key to exit
    cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
    cv2.imwrite('MyNewPic.png',image)
    cv2.destroyAllWindows()

cv2.VideoCapture()

  • cv2.VideoCapture可以捕獲攝像頭,用數字來控制不同的設備,例如0,1。
  • 如果是視頻文件,直接指定好路徑即可。
    這裏應該是返回一個cap(數值),讀取他,返回兩個。第一個參數是布爾值,第二個參數是返回的一幀一幀的圖。這裏一般延時25ms,基本就滿足要求了。
    官方的教程將沒采集的幀圖像進行了灰度轉換,這裏也可以去掉就是我們正常的畫面了。
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
    ret, frame = cap.read()
# Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
    cv2.imshow('frame',gray)
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章