微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 imageio 使用网络摄像头捕捉时更改图像大小

如何解决使用 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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。