reference:https://mxnet.incubator.apache.org/api/python/image/image.html#mxnet.image.imread
注意这里不是gluon的函数
1.mxnet.image.imdecode和mxnet.image.imread的区别
二者都是使用C++的opencv对图像进行处理,imdecode将图片解码为NDarray,而在此前需要读入图片。imread直接读入并解码图片。二者都可以设置flag=0读入灰度图片,设置to_rgb=0保持原本的bgr格式(opencv)。
读进的图片都是0~255, shape = (H, W, C)。而输入gluon的网络需要0~1, shape = (n, C, H, W), 在输入网络之前需要经过转换
img = mxnet.image.imdecode(open("dog.jpg", "rb").read())
img = mxnet.image.imread("dog.jpg")
def transform(data): # Imagenet pretrained model
data = data.transpose((2, 0, 1)).expand_dims(axis = 0)
rgb_mean = nd.array([0.485, 0.456, 0.406]).reshape(1, 3, 1, 1)
rgb_std = nd.array([0.229, 0.224, 0.225]).reshape(1, 3,<