我想用 Python 编写一个程序,可以从网络摄像头获取视频输入并显示它。而且我还希望程序能够识别颜色。所以程序可以识别所有红色的位置。这可以用 Python 实现吗?
我可以为此使用什么库?如果不可能,是否有更好的语言可以用于此?
我正在为 Linux 制作这个程序。
然后 OpenCV 是要走的路,http://opencv.willowgarage.com/wiki/InstallGuide,这也可能有助于您 使用 OpenCV 和 Python 显示网络摄像头提要
And I also want the program to be able to identify colors.
我不建议在 python 中本地进行图像处理,因为它可能非常密集,numpy
这对于一般数字运算或PIL
专注于图像非常有用。
在大多数情况下,屏幕截图将被视为 3d 矩阵image[xloc][yloc][rgbcolor]
,具体取决于 opencv 返回的格式。如果您想检查红色,那么只需检查image[xloc][yloc][red]
255 或接近该值的值,以查看您正在寻找哪种强度,而其他两种颜色为零或低,即红色,但尝试使用矩阵运算符执行此操作numpy
python中的标准for循环将花费相当长的时间。
OpenCV有一个 Python 接口。
有关捕获网络摄像头数据并将其显示在窗口中的入门程序,请参阅 Stack Overflow 问题Displaying a webcam feed using OpenCV and Python 。