首页 > 学院 > 开发设计 > 正文

caffe 学习系列:计算图片的均值

2019-11-06 06:48:05
字体:
来源:转载
供稿:网友

一般都要计算均值,首先caffe自带的compute_image_mean函数

这个函数有两个参数,一个是caffe的lmdb文件,还有一个是生成的binaryPRoto格式均值文件

执行下列.sh脚本

#!/usr/bin/env sh# Compute the mean image from the imagenet training lmdb# N.B. this is available in data/ilsvrc12EXAMPLE=/home/xhj/hjxu-code/createlmdbfile/Metastaticfile#DATA=$EXAMPLE/train_lmdbTOOLS=/home/xhj/caffe/build/toolsecho "Create train_mean..."$TOOLS/compute_image_mean $EXAMPLE/train_lmdb /  $EXAMPLE/train_mean.binaryprotoecho "Done"echo "Create test_mean..."$TOOLS/compute_image_mean $EXAMPLE/test_lmdb /  $EXAMPLE/test_lmdb/mean.binaryprotoecho "Done."这个时候在EXAMPLE目录下就可以得到train_lmdb和 test_lmdb两个文件

这是caffe得到的二进制文件,我们可能需要将他转化为python可视化的.npy格式的文件

执行以下py文件

#!/usr/bin/env python#convert mean.binaryproto to mean,npyimport numpy as npimport syssys.path.append('/home/xhj/caffe/python')import caffeif len(sys.argv)!=3:    print "Usage: python convert_mean.py mean.binaryproto mean.npy"    sys.exit()blob = caffe.proto.caffe_pb2.BlobProto()bin_mean = open( sys.argv[1] , 'rb' ).read()blob.ParseFromString(bin_mean)arr = np.array( caffe.io.blobproto_to_array(blob) )npy_mean = arr[0]np.save( sys.argv[2] , npy_mean )然后在终端执行以下

sudo python convert_mean.py /home/xhj/hjxu-code/createlmdbfile/Metastaticfile/train_mean.binaryproto /home/xhj/hjxu-code/createlmdbfile/Metastaticfile/train_mean.npy这个调用convert_mean.py这个函数,两个参数,一个是binaryproto文件的位置,一个是生成.npy文件的位置,具体调用如下:

python convert_mean.py train_mean.binaryproto train_mean.npy


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表