找不到中文文档,全是生肉。。没办法只能自己翻译了
MXNet -python API
Image API(图像)
概览
本文总结了用于读取和处理其中提供的图像的支持函数和迭代器
mxnet.imge 图像迭代和图像增加函数
图像处理函数
image.imdecode 将图像解码为NDArray。(NDArray 多维数组对象)
imgage.scale_down 如果尺寸大于图像尺寸,缩小裁剪尺寸。
image.resize_short 将较短边调整到合适尺寸
image.fixed_crop 在固定的位置修剪src,并(可选地)调整它的大小。
image.random_crop 按照尺寸随机修剪src(宽,高)
image.center_crop 通过在所有的四边进行修剪将图像src裁剪到给定的大小,并保留图像的中心。
image.color_normalize 用mean和std对src进行归一化。
image.random_size_crop 按照尺寸随机修剪src
图像迭代器
迭代器支持从二进制记录IO和原始图像文件加载图像。
image.ImageIter 有大量增加图片的图像迭代器
1 data_iter = mx.image.ImageIter(batch_size=4, data_shape=(3, 224, 224), label_width=1, 2 data_iter.reset() 3 for data in data_iter: 4 d = data.data[0] 5 print(d.shape) 6 # we can apply lots of augmentations as well我们也能够扩展到很多图片 7 data_iter = mx.image.ImageIter(4, (3, 224, 224), path_imglist='data/custom.lst', 8 data = data_iter.next() 9 # specify augmenters manually is also supported手动指定增量也是支持的 10 data_iter = mx.image.ImageIter(32, (3, 224, 224), path_rec='data/caltech.rec',
我们使用助手函数来初始化增加器
image.CreateAugmenter 创建一个增加器列表
一个支持增加器的列表
image.Augmenter 图像增强基类
image.SequentialAug 组成一个连续的增强列表。
image.RandomOrderAug 将增量表随机打乱
image.ResizeAug 使短边调整到增量大小
。。。中间省略先
通常由 tools/im2rec.py生成的 lst 文件是一个列表,如下:
index_0 label_0 image_path_0
index_1 label_1 image_path_1
label_N是一个定宽的向量数,目标检测的标签类型是一个长的可变向量
A B [extra header] [(object0),(object1).....(objectN)]
A 是header 的宽度(2+ extra header的长度),B是每个物体的宽度,extra header是可选的,用于插入助手信息,如(宽度,高度)。每个object通常是描述目标属性的5或6个数字.例如: [id, xmin, ymin, xmax, ymax, difficulty],把所有的进行合成,我们得到目标检测的lst文件。
我总算找到了生成lst的文档了。。。。苍天啊
现在让我们使用im2rec.py脚本工具将它们转换为record io格式。首先,我们需要制作一个包含所有图像文件及其类别的列表: