俗话说的好呀:图片不够,想办法来凑
在深度学习中,数据集的收集是最麻烦的,如果有现成的数据还好,如果只有少量的数据集,此时只能依靠少量的数据集进行二次改造啦,好啦拿上你的铁锤咱们走!!!
1、图片的裁剪
2、Tensorflow 中图片的裁剪
tensorflow里面提供了实现图像进行裁剪和填充的函数,就是tf.image.resize_image_with_crop_or_pad(img,height,width )。img表示需要改变的图像,height是改变后图像的高度,width是宽度。
import matplotlib.pyplot as plt;
import tensorflow as tf;
image_raw_data_jpg = tf.gfile.FastGFile('test.jpg', 'rb').read()
with tf.Session() as sess:
img_data_jpg = tf.image.decode_jpeg(image_raw_data_jpg)
img_data_jpg = tf.image.convert_image_dtype(img_data_jpg, dtype=tf.float32)
crop = tf.image.resize_image_with_crop_or_pad(img_data_jpg, 500, 500) # 随机裁剪成(500,500)
pad = tf.image.resize_image_with_crop_or_pad(img_data_jpg, 2000, 2000) # 随机裁剪成(2000,2000),不够的就用黑色进行填充
plt.figure(1)
plt.imshow(crop.eval())
plt.figure(2)
plt.imshow(pad.eval())
plt.show()
效果:
异常:‘utf-8’ codec can’t decode byte 0xff in position 0: invalid start byte
解决方式:
把读取方式改成 rb的形式
tf.gfile.FastGFile(‘test.jpg’, ‘rb’).read()
2、图片的旋转
3、图片的放缩
4、图片的平移
5、图片的模糊
https://blog.csdn.net/zh_jessica/article/details/77946346
https://blog.csdn.net/eric_pycv/article/details/72636785
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠