数据处理(一)

数据处理时的相关经验总结

1.如何读取指定路径下的所有图片,并在处理完成后以原文件名保存

#1.设定图片读取所在的文件夹路径与保存路径
img_readpath = 'D:\\material\\dataset'
img_savepath = 'D:\\material\\dataset\\save\\'
#2.取图片的名+后缀名
### 1.jpg
imglist = os.listdir(img_readpath)
### 1
img_name = int(a.split('.')[0])
#3.读取图像
for name in imglist:
    image = Image.open(img_readpath+'\\'+name)
    draw = ImageDraw.Draw(image)
    #4.保存图像并以原图像名命名
    img_save = os.path.join(img_savepath+a)

#附:
    

2. 在图像上绘制点、矩形框和文字

#导入模块
from PIL import Image, ImageDraw,ImageFont
#1.绘制点(x,y)---点的坐标
draw.point((x,y),fill='red')
#2.绘制矩形框--[x1,y1,x2,y2]--代表左上角和右下角的坐标
draw.rectangle([x1,y1,x2,y2],outline='red',width=3)
#3.绘制文本
#3.1导入文本字体
font_path       = 'D:\\software\\image\\vscoderexample\\yolov4_pytorch_new\\yolov4-pytorch-master\\model_data\\simhei.ttf' 
#3.2加载字体  ImageFont.truetype(file,size, encoding=value) 
font_style = ImageFont.truetype(font_path, 20, encoding="utf-8")
#3.3设置写文本的位置
text_origin = np.array([left+1,top+1])
#3.4绘制文本  draw.text(位置,内容,字体格式)
draw.text(text_origin,'chair'+'/'+accuracy,fill='white',font=font_style)
#4.绘制圆  --圆的最小包围框的左上角和右下角的坐标
draw.ellipse((a-2,b-2),(a+2,b+2)),fill='red',width=3)

3.pandas 数据筛选

#筛选出class这一列标签中含有person和chair的所有的行
semantic = semantic[semantic['classes'].isin(['person','chair'])]
#筛选出class这一列标签中含有字符串person的行
semantic = semantic[semantic['classes'].str.contains['person']]
#详细参考链接    https://www.jianshu.com/p/805f20ac6e06

4.pandas数据保存

#如果不想保存的csv数据里包含索引行,可以在保存时设置,header=Flase
semantic.to_csv('semantic_drop.csv',sep=',',header=False)

pandas数据显示

pd.set_option('display.max_rows',None) 

pandas如何读入数据不包含索引行

###读入csv后,先转成array,在转成Dataframe
keypoint = pd.DataFrame(np.array(pd.read_csv('displaced_keypoint.csv',sep=',',header=0,index_col=0)))

将数组中的所有元素均除以2

l = [0.68,0.65,1]
length = l/2
print(length)

出现以下报错
在这里插入图片描述
修改为:

l = np.array([0.68,0.65,1])
length = l/2
print(length)

参考链接:
(1)https://xiulian.blog.csdn.net/article/details/107464462

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值