使用 imageio 使用网络摄像头捕获时更改图像大小
Changing image size while capturing using webcam using imageio
我尝试在每次函数调用时捕捉图像
import imageio as iio
camera = iio.get_reader("<video0>")
screenshot = camera.get_data(0)
plt.imsave(filename, screenshot)
camera.close()
我可以保存图像,但图像大小有时是 960540,有时是 1280720。
我浏览了 imageio 的文档,但没有找到任何属性来设置它的形状。我一直想要固定形状的图像。
我试过 OpenCV,它有自己的局限性w.r.t我的要求。
所以请仅在此包中提出一些建议。
谁能帮忙。
您的评论明确表示您希望在整个视频的持续时间内保持分辨率一致。由于 imageio 不提供调整大小的操作,我建议您使用 skimage 来处理该部分。
import imageio as iio
import matplotlib.pyplot as plt
from skimage.transform import resize
camera = iio.get_reader("<video0>")
filename = "experiment_"
# randomly set to 30 frames for this example
for i in range(0, 30):
screenshot = camera.get_data(i)
# skimage resize function here
screenshot = resize(screenshot, (1280, 720))
final_filename = str(i) + ".jpg"
plt.imsave(filename+final_filename, screenshot)
camera.close()
我尝试在每次函数调用时捕捉图像
import imageio as iio
camera = iio.get_reader("<video0>")
screenshot = camera.get_data(0)
plt.imsave(filename, screenshot)
camera.close()
我可以保存图像,但图像大小有时是 960540,有时是 1280720。
我浏览了 imageio 的文档,但没有找到任何属性来设置它的形状。我一直想要固定形状的图像。
我试过 OpenCV,它有自己的局限性w.r.t我的要求。
所以请仅在此包中提出一些建议。
谁能帮忙。
您的评论明确表示您希望在整个视频的持续时间内保持分辨率一致。由于 imageio 不提供调整大小的操作,我建议您使用 skimage 来处理该部分。
import imageio as iio
import matplotlib.pyplot as plt
from skimage.transform import resize
camera = iio.get_reader("<video0>")
filename = "experiment_"
# randomly set to 30 frames for this example
for i in range(0, 30):
screenshot = camera.get_data(i)
# skimage resize function here
screenshot = resize(screenshot, (1280, 720))
final_filename = str(i) + ".jpg"
plt.imsave(filename+final_filename, screenshot)
camera.close()