Tensorflow图像预处理(2)大小调整
简单的图像预处理,包含对图像的反转和裁剪等基本操作,代码中有详细注释
#图像大小调整import matplotlib.pyplot as pltimage_raw_data=tf.gfile.FastGFile("pic/ma.jpg","rb").read() #读图 图片不是utf8编码的话,就需要改成rb而不是rwith tf.Session() as sess:img_data=tf.image.decode_jpeg(image_raw_data) #解码img_data=tf.image.convert_image_dtype(img_data,dtype=tf.float32)#在调整图片大小前,需要先对图片的数据类型进行转换# method:0双线性插值,1最近邻 2双三次插值 3面积插值resized=tf.image.resize_images(img_data,[300,300],method=0) #更改大小。会强制将图片压缩成要求的比例croped=tf.image.resize_image_with_crop_or_pad(img_data,200,200) #进行居中裁剪padded=tf.image.resize_image_with_crop_or_pad(img_data,600,600) #对周围的像素进行全0填充central_cropped=tf.image.central_crop(img_data,0.5) #按照比例裁剪图像,后面的数字在0-1之间,是裁剪的比例flipped=tf.image.flip_up_down(img_data) #上下反转flipped_left=tf.image.flip_left_right(img_data) #左右反转transposed=tf.image.transpose_image(img_data) #沿对角线反转#以50%概率上下反转图像flipped_up_maybe=tf.image.random_flip_up_down(img_data)#以50%概率左右反转图像flipped_left_maybe=tf.image.random_flip_left_right(img_data)fig=plt.figure()ax1=fig.add_subplot(3,1,1)ax2=fig.add_subplot(3,1,2)ax3=fig.add_subplot(3,1,3)ax1.imshow(flipped_up_maybe.eval())ax2.imshow(flipped_left_maybe.eval())ax3.imshow(transposed.eval())plt.show()
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
