我目前的程序是在Python和使用OpenCV.我依赖于网络摄像头捕获,我处理每一个捕获的帧:
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-它使用“截图”功能将截图保存到磁盘。然后我可以读取保存的文件并处理它们,但这似乎是一个不必要的步骤。
我还能试试什么?
2条答案
按热度按时间tkclm6bt1#
在这里找到这个例子:https://groups.google.com/forum/#!topic/kivy-users/N18 DmblNWb 0
它将opencv捕获的图像转换为kivy纹理,这样你就可以在kivy界面上显示之前进行各种cv转换。
s3fp2yjn2#
正如你在相机示例中看到的,这是默认的方式,当你在
__init__.py
中查找相机时,你可以在提供程序中看到opencv,所以它可能与OpenCV一起工作。如果你可以看到OpenCV被检测为提供程序,请检查日志。如果检测到CameraOpenCV
,你应该看到它被写在某处,并且它应该在捕获图像时显示自己。然而,如果你想直接使用OpenCV(即
cap.read()
和类似的东西),那么你需要为提供程序编写自己的处理程序,或者在camera_opencv
文件中附加更多的选项。