cv2.imread()和caffe.io.loadimage的区别

23 篇文章 1 订阅
11 篇文章 1 订阅

使用opencv和caffe的伙伴们,可能会有一个疑问,那就是对于同时读取图片的cv2.imread()和caffe.io.loadimage两个函数,有什么差别?

1、cv2.imread()接口读图像,读进来直接是BGR 格式数据格式在 0~255,通道格式为(H,W,C),即行,列、通道数(Row, Col, C)。

2、caffe.io.load_image()读进来是RGB格式和 0~1(float)

     因此,cv2.imread()读取的数据,需要进过转换后,才和caffe.io.load_image()相同,例如:

[python]  view plain  copy
  1. image = caffe.io.load_image(caffe_root + 'examples/images/cat.jpg')  
[python]  view plain  copy
  1. image1=cv2.imread(caffe_root + 'examples/images/cat.jpg')  
  2. image1=cv2.cvtColor(image1,cv2.COLOR_BGR2RGB)  
  3. image1=image1/255.  
    经过转换后,cv2.imread读取的image1和 caffe.io.load_image()读取到的image格式相同。
    所以在进行特征提取之前要在transformer中设置transformer.set_raw_scale('data',255)(缩放至0~255)
以及transformer.set_channel_swap('data',(2,1,0)(将RGB变换到BGR)。
     调用caffe model进行特征提取分类时,要注意区分image用何种方法读进来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值