caffe Python APIの画像前処理

3018 ワード

#      shape     data   
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
#        ,       (width, height, channel)  (channel, width, height)
transformer.set_transpose('data', (2,0,1)) 
#     ,     binaryproto         npy  [      model     ]
transformer.set_mean('data', np.load(mean_file_path).mean(1).mean(1))
#    [0,255]  
transformer.set_raw_scale('data', 255)
#     ,    RGB  BGR
transformer.set_channel_swap('data', (2,1,0))

#     
im=caffe.io.load_image(img)

#               ,       blob 
net.blobs['data'].data[...] = transformer.preprocess('data',im)

ここで注意するのは:caffe.io.load_イメージ()に読み込まれた画素値は[0-1]の間であり、チャネル順序はRGBであり、caffe内部のデータフォーマットはBGRであるため、opencvを用いてピクチャを開くと、以下の操作を行う必要がない.
 
#    [0,255]  
transformer.set_raw_scale('data', 255)
#     ,    RGB  BGR
transformer.set_channel_swap('data', (2,1,0))

 
転載先:https://www.cnblogs.com/houjun/p/9912493.html