tensorflow裁剪填充指定大小图片(二)

来源:互联网 发布:雅思听力选择题 知乎 编辑:程序博客网 时间:2024/05/29 04:17

简介

上一节,介绍了处理一张图片,在不进行压缩的情况下对其进行裁剪或者填充背景颜色为黑色。这节介绍批量读取和保存裁剪、填充的图片。
1、需要在要进行处理的图片,新建InitImages文件夹,把图片放进去,命名格式不需要管;
2、新建文件夹crop_or_pad用于保存处理后的图片,命名规则为“crop_or_pad000”到“crop_or_padxxx”;

示例代码

'''Created on 2017-4-28@author: XT'''import tensorflow as tfimport scipy.misc  import os.path  file_dir = 'E:\\Parking186\\ImgReshape\\'save_path = 'E:\\Parking186\\ImgReshape\\crop_or_pad\\'classes = {'InitImages'}image_list = []for index,name in enumerate(classes):    class_path=file_dir+name+'\\'#读取类路径    for img_name in os.listdir(class_path):        filenames=class_path+img_name#获取每一个图片地址        image_list.append(filenames)filename_queue = tf.train.string_input_producer(image_list)         reader = tf.WholeFileReader()          key,value = reader.read(filename_queue)          images = tf.image.decode_jpeg(value)#tf.image.decode_png(value)  CP_H = 360CP_W = 300# 裁切图片with tf.Session() as sess:    coord = tf.train.Coordinator()      threads = tf.train.start_queue_runners(coord=coord)      reshapeimg = tf.image.resize_image_with_crop_or_pad(images,CP_H,CP_W)    for index in range(len(image_list)):        #reimg1的类型是<class 'numpy.ndarray'>          reimg = reshapeimg.eval()          scipy.misc.imsave(save_path+'crop_or_pad'+"%03d" %index+'.jpg', reimg)    coord.request_stop()      coord.join(threads)    print('crop_or_pad successful!')

结果

【1】
原图
这里写图片描述
处理后
这里写图片描述

【2】
原图
这里写图片描述
处理后
这里写图片描述

【3】
原图
这里写图片描述
处理后
这里写图片描述

结果文件

这里写图片描述

参考

【1】tensorflow裁剪填充指定大小图片(一) - Alex_XT的博客 - CSDN博客
http://blog.csdn.net/u011463646/article/details/77234442

原创粉丝点击