【问题标题】:images to np array and keep the order图像到 np 数组并保持顺序
【发布时间】:2021-07-08 14:40:57
【问题描述】:

我正在尝试使用以下代码将 1967 jpg 图像转换为 np 数组。如何保持数组中图像的原始顺序?

import cv2
import glob
import numpy as np

X_data = []
files = glob.glob ("/content/drive/My Drive/CourseWork/images/emotionet_validation/*.jpg")
for myFile in files:
    print(myFile)
    image = cv2.imread (myFile)
    X_data.append (image)

print('X_data shape:', np.array(X_data).shape)

【问题讨论】:

  • 将代码缩进 4 个空格以使其在 S.O. 上可读
  • 根据需要对您的files 进行排序。 glob 不保证任何特定顺序...
  • 原始订单是什么意思?
  • 你可能想要 natsort 库顺便说一句。
  • 当您将列表 X_data 中的图像数组保存到 NumPy 数组时,它们将按照读取时的顺序保存。如果你想知道图像文件的读取顺序,你需要另一个变量,可能是img_label=[] ; img_label.append(myFile)

标签: python image numpy cv2


【解决方案1】:

https://docs.python.org/3/howto/sorting.html

import cv2
import glob
import numpy as np

X_data = []
files = glob.glob ("/content/drive/My Drive/CourseWork/images/emotionet_validation/*.jpg")
sorted(files)
## Do you need sort to ignore case?
## sorted(files, key=str.casefold)
for myFile in files:
    print(myFile)
    image = cv2.imread (myFile)
    X_data.append (image)

print('X_data shape:', np.array(X_data).shape)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    相关资源
    最近更新 更多