图像大小的调整方式:在Tensorflow中通过tf.image.resize_images函数实现;
1.双线性插值算法(Bilinear interpolation);Method取值为:0;
2.最近邻居法(Nearest neighbor interpolation);Method取值为:1;
3.双三次插值法(Bicubic interpolation);Method取值为:2;
4.面积插值法(Area interpolation) ;Method取值为:3;
import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
image_raw_data = tf.gfile.GFile('D:/path/to/picture/8.jpg','rb').read() #加载原始图像
with tf.Session() as sess:
img_data = tf.image.decode_jpeg(image_raw_data)
plt.imshow(img_data.eval())
plt.show()
resized = tf.image.resize_images(img_data, [300,300],method=0) #第一个参数为原始图像,第二个参数为图像大小,第三个参数给出了指定的算法
resized = np.asarray(resized.eval(),dtype='uint8')
plt.imshow(resized)
plt.show()
croped = tf.image.resize_image_with_crop_or_pad(img_data,200,200) #目标图像大小<原始图像的大小,则截取原始图像的居中部分,
padded = tf.image.resize_image_with_crop_or_pad(img_data,800,800) #目标图像大小&g

本文介绍了在TensorFlow中如何使用tf.image.resize_images函数进行图像大小调整,包括双线性插值、最近邻插值、双三次插值和面积插值等方法。同时,还讨论了图像的裁剪和填充操作,以及如何在目标尺寸大于原始图像时进行填充,小于时进行裁剪。此外,提到了tf.image.central_crop()函数用于按比例调整图像大小。
最低0.47元/天 解锁文章
5107

被折叠的 条评论
为什么被折叠?



