使用python PIL库读取MSCOCO的bounding box
来源:互联网 发布:顺丰淘宝买飞机 编辑:程序博客网 时间:2024/05/21 16:10
这里使用的是MSCOCO里annotations_trainval2017里的数据集,因为是比较大的json文件,为方便查阅,我们用spdyer将其打开。
with open(path+'/'+filename_arr[2]+'.json') as f: instances_train = json.load(f)with open(path + '/' + filename_arr[3] + '.json') as f: instances_val = json.load(f)
运行完后会在右上角像matlab一样显示出变量,如下图
可以看到instances_train就是训练集的数据,是一个字典,双击就可以看到字典里的元素,结果如下图中的左上。其中annotations是对图片中物体标注的数据集,categories是所有物体的分类集,images是原始图片的信息,info是mscoco的信息,licenses就是法律方面相关的东西了。
我们打开annotations得到图中右上的结构,其中每一条代表图中一个物体的信息,打开其中一条得到上图中最下面的结构。里面的bbox就是bounding box,括号里面分别是(x, y, width, height),(x,y)是bbox左上角的坐标,width,height分别是bbox的宽和高。categories_id是物体种类的id,每个id是什么物体可以上一个表中categories里查到。image_id就是原始图片的id,这个id和下载的图片的名称是相对应的。
在了解完数据后,就要开始使用了。这里是使用bbox来做图像识别,用神经网络来进行训练。首先我们要根据bbox来得到对应方框的像素值。这里我们使用PIL库。安装方法: pip install Pillow
首先读入数据:
im = Image.open(filepath)
然后我们主要使用crop(left, up, right, lower)方法,它是对图像特定区域进行裁剪。注意它的参数和bbox里的值含义不同,left是指bbox左边距整个图像左边的距离,up是指bbox上沿距图像顶端的距离,其他两个类似。所以在传参时如下:
region = im.crop(x, y, x+width, y+height)data = region.getdata()
然后再用getdata()函数获取的像素矩阵,然后合成成自己的神经网络所需要的输入形式。
这篇文章到这里就结束了。
- 使用python PIL库读取MSCOCO的bounding box
- python使用PIL库读取图片的像素值
- python利用opencv标注bounding box
- 使用python的PIL库简单的处理图像
- python的PIL库安装
- 用Python做图像处理(PIL库的使用)
- 用Python做图像处理(PIL库的使用)
- Python+OpenCV图像标注矩形框bounding box
- poj 2504 Bounding box
- UVa 10577 - Bounding box
- POJ2504 Bounding box
- Bounding box regression详解
- Bounding Box label code
- bounding box overlap 计算
- Bounding box regression详解
- Bounding-box Regression
- Bounding box regression详解
- Single Bounding Box Regression
- 防反接保护电路
- 双轴跟踪太阳定日镜步进电机Arduino数控云台精密转台摄影PTU-D46
- IO流(二)转换流、序列化、commons-IO框架
- 类加载的顺序
- UNIX网络编程第一例daytimetcpcli
- 使用python PIL库读取MSCOCO的bounding box
- 一只爬虫带你看世界【8】
- 阿里巴巴云栖大会发布“云栖简史” 七年推动中国互联网大爆发
- Intel 第八代桌面处理器来了,超频高至 4.7 GHz,但没上八核
- python 列表操作
- 德勤系统受黑客攻击,客户保密邮件泄露
- 关于仙童八叛逆
- 南大Mooc计算机体系基础--IA_32地址转换
- day04