python - 将图像数据和标签放在一起
问题描述
我有一个母目录,其中包含几个子文件夹,我在其中存储了车牌图像。在母目录中,还有一个名为 train Val 的文件夹,它是一个包含数据标签的 csv 文件。trainVal 包含以下列:
- track_id - 基于跟踪器的特定轨道的 ID
- image_path - 存档结构中图像的路径
- lp - 车牌的真实文本
- train - 训练/测试拆分。0 - 测试,1 - 训练
在我看来,track_id 对于将标签(标签是“lp”,真实文本,例如 7C24698)和车牌放在一起并不是必需的。我想知道如何让他们在一起。
我用下面的代码阅读了图片:
import cv2
import numpy
import glob
import matplotlib.pyplot as plt
folders = glob.glob(r'path\to\mother\directory\*')
imagenames_list = []
for folder in folders:
for f in glob.glob(folder+'/*.png'):
imagenames_list.append(f)
read_images = []
for image in imagenames_list:
read_images.append(cv2.imread(image, cv2.IMREAD_GRAYSCALE))
我使用以下代码读取了 trainVal 数据:
import csv
track_id = []
image_path = []
lp = []
train = []
with open(r'path\to\trainVal.csv') as csvDataFile:
csvReader = csv.reader(csvDataFile)
for row in csvReader:
track_id.append(row[0])
image_path.append(row[1])
lp.append(row[2])
train.append(row[3])
现在,我将 trainVal 的标签和所有其他数据作为数组获取。
有没有办法通过扩展我使用的代码将标签和图像放在一起,或者我必须以另一种方式读取图像,或者我不需要做这样的事情?
解决方案
推荐阅读
- c++ - how to create a forward declaration of a typedef struct
- typescript - Angular 5 到 Angular 6 的迁移
- android - Android NDK:第三方 Java 库的静态或共享 C++ 运行时
- elasticsearch - Elasticsearch synonym issue
- django - Django - 如何使用 ManyToManyField 字段进行过滤?
- mongodb - Query documents (text search) in Restheart
- javascript - 为什么我们会收到错误 - 部署不成功。对于浪涌的反应应用程序?
- function - 带有函数的存储过程在 Oracle 中给了我错误
- java - 似乎我的 Junit 测试在运行时运行,数据源丢失
- mongodb - How do I drop an index in mongoose