python - 如何在 OpenCV 中创建所有文件夹(“train”)图像的列表
问题描述
我的文件夹中有 399 张图像,名为“train_images”,我想在我的 openCV 中创建所有这些图像的列表,例如 ('cv2.imread(list)')
TRAIN_DIR = 'train_data/'
TEST_DIR = 'test_data/'
train_path = glob.glob("train_data/*.ppm")
train_path.sort()
train_images = [cv2.imread(img) for img in train_path]
train_images = train_images.reshape(train_images.shape[0], 512, 512, 1).astype('float32')
cv2.imshow('image',train_images[0])
cv2.waitKey(0)
cv2.destroyAllWindows()
解决方案
在这部分代码中:
train_images = [cv2.imread(img) for img in train_path]
train_images = train_images.reshape(train_images.shape[0], 512, 512, 1).astype('float32')
问题是这train_images
是一个列表,而不是一个 numpy 数组。只有 numpy 数组有reshape
andastype
方法。但是解决方法很简单,转换train_images
成numpy数组即可:
import numpy as np
train_images = [cv2.imread(img) for img in train_path]
train_images = np.array(train_images)
train_images = train_images.reshape(train_images.shape[0], 512, 512, 1).astype('float32')
推荐阅读
- entity-framework-core - EntityFramework Core 如何在内部管理数据?
- android - 如何使 TextView 中的字体相对于其大小更大或更小
- python - 循环遍历文本文件并将每一行动态保存到变量中
- biztalk - 启用 TLS 1.2 并禁用较低版本的 SSL 和 TLS 后无法连接到 BizTalk 组
- javascript - 为数组的每个元素做某事在数组中指定
- excel - 如何将标题复制并转置到另一张纸上?
- visual-studio-code - 每次在 VSCode 中使用 CodeRunner 时如何编译和运行
- selenium - 如何在文档的棘手部分(对我而言)中创建 Xpath,以便在 VBA 中与 Selenium Basic 一起使用
- php - 向数据库提交数据时出现错误消息
- angular-cli - ng new 命令需要很长时间