4_圖片的裁剪、旋轉、平移、模糊(20181218)


俗話說的好呀:圖片不夠,想辦法來湊

在深度學習中,數據集的收集是最麻煩的,如果有現成的數據還好,如果只有少量的數據集,此時只能依靠少量的數據集進行二次改造啦,好啦拿上你的鐵錘咱們走!!!

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章