opencv是一個基於BSD許可發行(也就是俗稱的開源)的跨平台計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS上。由一系列 C 函數和少量 C++ 類構成的它輕量且高效,並提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。
對於python而言,在引用opencv庫的時候需要寫為import cv2。其中,cv2是opencv的C++命名空間名稱,使用它來表示調用的是C++開發的opencv的接口。
參考地址:
https://pypi.org/project/opencv-python/
https://blog.csdn.net/saltriver/article/details/78166046
使用文檔:https://docs.opencv.org/master/
需要注意的是,如果按文檔編寫后報本應存在的預設常量不存在的錯誤時,記得在常量名前加上cv2. ,或者在引用是直接將cv2引用為*。
基礎用法
為了加深印象,特此記錄。
void cv2.namedWindow(String winname, int flags=WINDOW_AUTOSIZE)
以flags設置的方式初始化一個名為winname的窗口。WINDOW_AUTOSIZE生成的窗口無法自由改變大小(指鼠標拖動改變窗口大小)。如要改變大小使用cv2.WINDOW_NORMAL初始化窗口。
void cv2.imshow(String winname, InputArray img)
在指定窗口winname中顯示圖像img。
若在此之前未生成窗口,該函數將按圖像分辨率初始化窗口。
int cv2.waitKey(int delay=0)
如果使用默認值或設置一個小於等於0的值,程序會在此阻塞,等待鍵盤事件。設置一個大於0的值,程序會在此等待至少設置值數值的時間(設置數值單位為毫秒),因為操作系統切換線程需要時間,所以是至少。其返回值是按鍵對應的ascii碼值或設定時間內無按鍵事件時的-1。
需要注意的是,這個函數只有在已有窗口之后才能生效。(簡單來說可以是imshow過一次之后)