嗨,我使用了一个名为imgproc
的python库,它使我可以从网络摄像头拍摄图像到树莓派。但我不知道如何将其保存到.jpg
文件中。我到处都找过,但找不到答案任何地方都可以指向库的链接是here。我什么都试过了,但是我没有一个合适的方法。她现在的密码是:
import socket
import time
from imgproc import *
cam = Camera(320, 240)
host = "example.com"
port = 8888
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ri = socket.gethostbyname(host)
s.connect((ri , port))
x = True
while x:
img = cam.grabImage()
使用PIL或其他类似的库是可能的。但是,如果你想让它更快,就有一些问题。在
挑战来自于
imgproc
API,它似乎不允许对图像数据本身进行任何快速访问。唯一的方法是使用Image
对象的__getitem__
方法,例如img[x,y]
。这看起来很像numpy
数组,但不幸的是,它们没有其他共同点。在imgproc
是在C库上构建的非常薄的包装器。查看一下imgproc.py
,它显示了所有可用的绑定。在最有可能你需要逐像素地构建图像,这不是很快。例如:
一旦有了图像数组,就可以将其转换为PIL图像并保存图像:
^{pr2}$为了做到这一点,您需要}模块(PIL)。这种方法不是很快。另一种方法是创建一个空的
numpy
和{numpy
数组并填充它:只有测试才能发现哪一个慢一些。在
原则上,通过在库周围添加功能更强大的包装器函数来扩充库,使其以更好的格式返回二进制缓冲区内容,这并不是难事,但这样做需要掌握C和python的知识。在
相关问题 更多 >
编程相关推荐