2016-06-10 144 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文件中附加更多选项。