OpenCV中各函數解釋


舉個例子

import cv2
clicked =False

def onMouse(event,x,y,flags,param):
    global clicked
    if event == cv2.EVENT_LBUTTONUP:
        clicked=True

cameraCapture =cv2.VideoCapture(0)
cv2.namedWindow("MyWindow",0)
cv2.resizeWindow("MyWindow",640,480)
cv2.setMouseCallback("MyWindow",onMouse)

print "Showing camera feed.Click window or press any key to stop."

success,frame=cameraCapture.read()
while success and cv2.waitKey(1)==-1 and not clicked:
    cv2.imshow("MyWindow",frame)
    success,frame=cameraCapture.read()
cv2.destroyWindow("MyWindow")
cameraCapture.release()

一、namedWindow(const String,ing flag)

  Flag=0,表示按原圖尺寸顯示

  Flag=1,表示窗口可以自適應

二、waitKey()

  waitKey()與waitKey(0)表示無線等待,針對視頻流來說,cv2.waitKey(0)表示只顯示當前幀圖像,相當於暫停

  waitKey(n)表示等待n毫秒關閉窗口,針對視頻流來說,cv2.waitKey(1)表示延時1ms切換到下一幀

  當等待時間內無任何操作,等待結束返回-1

  如果等待時間內有輸入字符那么返回該字符的ASCII值

e.g. while(waitKey(1)!='q'): 或者如上程序while waitKey(1)== -1:

  針對第一個:waitKey(1)表示延遲一秒;while waitKey(1):表示一直延遲;while(waitKey(1)!='q'):表示一直延遲直到鍵入q時

  針對第二個:前面同理;while waitKey(1)== -1:表示一直延遲,不鍵入字符。

三、VideoCapture()和read()

  cameraCapture=cv2.VideoCapture(0)

  success,frame = cameraCapture.read()

  VideoCapture(0)表示打開筆記本內置攝像頭,還可以VideoCapture("../test.avi")

  read()函數表示按幀讀取視頻,success,frame是read()的兩個返回值,success是布爾值——如果讀取幀是正確的則返回True,如果文件讀取到結尾則返回False,Frame表示的是每一幀的圖像,是一個三維矩陣

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM