繁体   English   中英

SimpleCV网络摄像头黑色图像

[英]SimpleCV webcam black image

我需要从网络摄像头拍摄一张快照。 我选择SimpleCV来完成这项任务。

现在我尝试获取单个图像并显示它:

from SimpleCV import Camera


cam = Camera()
img = cam.getImage()
img.show()

但我只看到黑色图像。 我认为此时相机还没有准备好,因为如果我在cam.getImage()之前cam.getImage() time.sleep(10) cam.getImage()一切都很好。

这是正确的方法吗? 谢谢!

你安装了PIL吗? 我有类似的问题,但在安装PIL一切正常。 希望这可以帮助。

您可以从Pythonware下载PIL

我遇到了同样的问题,并提出了以下解决方法。 基本上它抓取一个图像,测试中间像素,看它是否是黑色(0,0,0)。 如果是,则等待1秒钟再次尝试。

import time
from SimpleCV import Camera
cam = Camera()
r = g = b = 0
while r + g + b < 0.01:
    img = cam.getImage()
    r, g, b = img[img.width/2, img.height/2]
    print("r: {} g: {} b: {}".format(r,g,b))
    time.sleep(1)
img.save(file_name)

您的问题可能是,当脚本结束时,相机对象似乎不会释放其他程序的网络摄像头。 当您等待运行脚本时,Windows将其释放(可能?),以便它可以再次运行。 如果您使用它,旧脚本仍然认为它拥有网络摄像头,它显示为黑色。 无论如何, 这里的解决方案似乎有效。 将“del cam”添加到脚本的末尾,这将使相机对象消失,让您再次使用相机。

尝试这个
来自SimpleCV导入Camera cam = Camera(0)而True:img = cam.getImage()img.show()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM