zoukankan      html  css  js  c++  java
  • caffe Python API 之图片预处理

    # 设定图片的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_image()读入的像素值是[0-1]之间,且通道顺序为RGB,而caffe内部的数据格式是BGR,因此需要进行如下操作,若是使用opencv打开图片,则无需进行如下操作。

    # 缩放到[0,255]之间
    transformer.set_raw_scale('data', 255)
    # 交换通道,将图片由RGB变为BGR
    transformer.set_channel_swap('data', (2,1,0))
  • 相关阅读:
    oc-autorelease
    oc-循环引用问题
    oc-内存管理总结
    tomcat-各文件夹作用解析
    oc-多对象内存管理
    oc-arc(Automatic Reference Counting 自动引用机制) 与 内存管理
    tomcat-context.xml
    oc-set方法内存管理 和 @property的参数
    【转载】java学习线路
    一段shell脚本
  • 原文地址:https://www.cnblogs.com/houjun/p/9912493.html
Copyright © 2011-2022 走看看