yolo算法读取数据集及标签的代码

上代码

import os
import xml.etree.ElementTree as ET
import numpy as np
import cv2
import pickle
import copy
import yolo.config as cfg #另一个py文件,后面会附上,这里主要读取它的路径

定义类

class Pascal_voc(object):
	#定义自身属性
	def __init__(self,phase, rebuild = False):
		self.devkil_path = os.path.join(cfg.PSACAL_PATH,'VOCdevkit')
		self.data_path = os.path.join(self.devkil_path, 'VOC201')
		self.cache_path = cfg.CACHE_PATH
		self.batch_size = cfg.BATCH_SIZE
		self.image_size = cfg.IMAGE_SIZE
		self.cell_size = cfg.CELL_SIZE
		self.classes = cfg.CLASSES
		self.class_to_ind = dict(zip(self.classes, \ range(len(self.classes))))
		self.fliped = cfg.FLIPPED
		self.phase = phase
		self.rebuild = rebuild
		self.cursor = 0
		self.epoch = 1
		self.gt_labels = None
		self.prepare()

读取图片,将图片放到(-1,1)之间,如果需要进行水平镜像

	def image_read(self, imname, flipped = False):
		image = cv2.imread(imname)
		image = cv2.resize(image,(self.image_size, self.image_size))#把图像resieze到image_size
		image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB).astype(np.float32)#因为opencv读取的bgr格式,同时转化为rgb格式
		image = (image/255.0) *2.0 -1.0
		if filpped:
			image = image[:,::-1,:]
		return image

接下来,通过图片的索引值index来得到训练样例的路径和label

	def load_pascal_JPEGImages_annotation(self.index):
		imname 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值