2016-06-10 147 views
0

我目前的程序使用Python並使用OpenCV。我依靠攝像頭捕捉和我每天處理捕獲的幀:將OpenCV網絡攝像頭集成到Kivy用戶界面

import cv2 

# use the webcam 
cap = cv2.VideoCapture(0) 
while True: 
    # read a frame from the webcam 
    ret, img = cap.read() 
    # transform image 

我想作一個Kivy接口(或其他圖形用戶界面)的按鈕,保持現有的功能與攝像頭捕獲。

我發現這個例子: https://kivy.org/docs/examples/gen__camera__main__py.html - 但它沒有解釋如何獲取攝像頭圖像來處理它與OpenCV。

我發現了一個較老的例子: http://thezestyblogfarmer.blogspot.it/2013/10/kivy-python-script-for-capturing.html - 它使用'截圖'功能將截圖保存到磁盤。然後我可以讀取保存的文件並處理它們,但這似乎是不必要的一步。

我還能試試嗎?

回答

1

注意:我不知道OpenCV是如何工作的,但是我發現了camera_opencv.py,所以這意味着有一個簡單的方法來處理它。

正如您在相機示例中所看到的,這是默認方式,當您在__init__.py中查看相機時,您可以看到opencv in providers,因此它可能適用於OpenCV開箱即用。檢查日誌是否可以看到OpenCV作爲提供者檢測到。如果檢測到它,你應該在某處看到CameraOpenCV,並且它應該在捕獲圖像時顯示。

如果您想直接使用OpenCV(即cap.read()及類似的東西),那麼您需要爲提供者編寫自己的處理程序,或者在camera_opencv文件中附加更多選項。