FCN中单张图片可视化的代码
来源:互联网 发布:网络用语我爱萝卜 编辑:程序博客网 时间:2024/05/20 20:45
仅参考
import numpy as npfrom PIL import Imageimport sysimport matplotlib.pyplot as plt#import scipy.io as sioimport caffe#import caffeimport glob#fileList=glob.glob('/home/yangwb/JPEGImages/*.jpg')#f=open("/home/yangwb/MYwork/FCN/fcn.berkeleyvision.org-master/data/VOC2012/ImageSets/Segmentation/seg11valid1.txt")#lines=f.readlines()def vis_square(data): # 输入的数据为一个ndarray,尺寸可以为(n, height, width)或者是 (n, height, width, 3) # 前者即为n个灰度图像的数据,后者为n个rgb图像的数据 # 在一个sqrt(n) by sqrt(n)的格子中,显示每一幅图像 # 对输入的图像进行normlization data = (data - data.min()) / (data.max() - data.min()) # 强制性地使输入的图像个数为平方数,不足平方数时,手动添加几幅 n = int(np.ceil(np.sqrt(data.shape[0]))) # 每幅小图像之间加入小空隙 padding = (((0, n ** 2 - data.shape[0]), (0, 1), (0, 1)) # add some space between filters + ((0, 0),) * (data.ndim - 3)) # don't pad the last dimension (if there is one) data = np.pad(data, padding, mode='constant', constant_values=1) # pad with ones (white) # 将所有输入的data图像平复在一个ndarray-data中(tile the filters into an image) data = data.reshape((n, n) + data.shape[1:]).transpose((0, 2, 1, 3) + tuple(range(4, data.ndim + 1))) # data的一个小例子,e.g., (3,120,120) # 即,这里的data是一个2d 或者 3d 的ndarray data = data.reshape((n * data.shape[1], n * data.shape[3]) + data.shape[4:]) #print data # 显示data所对应的图像 plt.imshow(data); plt.axis('off') plt.savefig('pool5.png')#for i in range(1): #line = line.strip('\n') fileList='/home/yangwb/MYwork/FCN/fcn.berkeleyvision.org-master/myvoc1/2008_003821.jpg' #print fileList # load image, switch to BGR, subtract mean, and make dims C x H x W for Caffe #print filename im = Image.open(fileList) in_ = np.array(im, dtype=np.float32) in_ = in_[:,:,::-1] in_ -= np.array((104.00698793,116.66876762,122.67891434)) in_ = in_.transpose((2,0,1)) # init #caffe.set_device(int(sys.argv[1])) caffe.set_device(5) caffe.set_mode_gpu() # load net net = caffe.Net('/home/yangwb/MYwork/FCN/fcn.berkeleyvision.org-master/myvoc1/deploy.prototxt', '/home/yangwb/MYwork/FCN/fcn.berkeleyvision.org-master/myvoc1/_iter_45000.caffemodel', caffe.TEST) # shape for input (data blob is N x C x H x W), set data net.blobs['data'].reshape(1, *in_.shape) print net.blobs['data'].shape net.blobs['data'].data[...] = in_ # run net and take argmax for prediction net.forward() out = net.blobs['score'].data[0].argmax(axis=0) #out=net.blobs['score'].data[0].argmax(0).flatten() #a=net.blobs['score'].data[0, 0].flatten() print out #abc='/home/yangwb/test1/'+line+'.jpg' #np.save(abc[:-4], out) score= net.blobs['upscore8'].data[0,15:16] #score= net.blobs['upscore21'].data[0] #print score[20] vis_square(score) #plt.imshow(out,cmap='gray') #plt.axis('off') #plt.savefig(fileList[:-4]+'.png') #plt.show()
阅读全文
0 0
- FCN中单张图片可视化的代码
- C++语言读取和保存单张图片的代码
- 表格中插入单张图片
- 用VTK读取单张的TIFF图片
- IOS学习 scrollView的单张图片缩放
- 实现单张图片的倒影效果
- Jxls导出excel的若干方式总结(十)-- 在导出报表中插入单张图片
- 从图库中获得单张图片并展示,获得缩略图
- 单张图片加载动画
- 单张图片特征点
- thinkphp 上传单张图片
- 上传单张图片
- Retrofit 上传图片(单张)
- AFN上传单张图片
- 添加动画、单张图片
- AFNetworking单张图片上传
- caffe测试单张图片
- 单张图片自适应
- django+nginx+uwsgi+service部署web应用
- mysql学习
- 《TCP/IP详解 卷1》 笔记: UDP协议
- RS常用命令
- 多重输入判断-流程图代码
- FCN中单张图片可视化的代码
- IntelliJ IDEA破解小方法
- UVA 12265 Selling Land
- computed属性和watch属性的区别之二【computed的基本用法】
- vue学习笔记1
- 拨开字符编码的迷雾--字符编码转换
- Java的三个方向命名规范以及在微软WINDOWS下环境变量的配置技巧。
- vue文档组件篇杂项阅读
- hdu 5085 Counting problem (分块+二进制优化下hash链表)