matlab送入caffe图像

caffe图像格式: batchsize  channels height  width

 

在内存中,是按照先存储width,在存储height,再存储channels的顺序,也就是一个坐标是(n,k,h,w)的像素点,在内存中的idx是

((n * channels + k) * height + h) * width + w

 

而matlab读取图像之后是按列存储,也就是看起来图像的顺序是height, width, channels,但是其实在内存中是按照channels width height来存储的。也就是说,需要调换height和width的顺序:

Img = permute(Img, [2,1,3]);%flip width and height 

 

而matlab也是按照RGB的顺序存储的,所以如果是BGR的话,需要

Img = Img(:,:,[3,2,1]);%permute channels from RGB to BGR

 

caffe在生成lmdb的时候,如果调用的自带的convert程序,一般是用的BGR存储的,切记切记!

你可能感兴趣的:(matlab送入caffe图像)