首页 > 解决方案 > 将图像数据和标签放在一起

问题描述

我有一个母目录,其中包含几个子文件夹,我在其中存储了车牌图像。在母目录中,还有一个名为 train Val 的文件夹,它是一个包含数据标签的 csv 文件。trainVal 包含以下列:

训练值

在我看来,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 的标签和所有其他数据作为数组获取。

有没有办法通过扩展我使用的代码将标签和图像放在一起,或者我必须以另一种方式读取图像,或者我不需要做这样的事情?

标签: pythonnumpyglobimread

解决方案


推荐阅读