我训练了一个神经网络模型,并且希望能够轻松地从计算机上载图像以预测其分类。我正在尝试使用以下代码片段将图像上传到Google Colab:

from google.colab import files

uploaded = files.upload()

for fn in uploaded.keys():
  print('User uploaded file "{name}" with length {length} bytes'.format(
      name=fn, length=len(uploaded[fn])))

我想使用OpenCV模块中的cv2.imread函数将图像转换为像素数组,但是上传的文件类型为字节,而此函数需要文件路径。

我的问题是,有没有一种方法可以将上载的图像保存在Colab的文件目录中,以便可以将其与cv2.imread函数一起用作文件路径,或者是否有另一种方法可以实现所需的功能?

谢谢

最佳答案

要从内存中读取字节数组,请尝试cv2.imdecode。将需要使用np.frombuffer将字节转换为numpy数组,然后使用imdecode

 img = cv2.imdecode(np.frombuffer(uploaded[fn]), np.uint8), 1)

10-05 18:57