图像增强与保存

本文探讨了PyTorch中用于图像增强的20种操作,并提供了详细的操作指南链接,同时提及了TensorFlow和Keras在图像处理领域的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. pytorch


import sys
sys.path.append('..')
from PIL import Image
import torchvision
from torchvision import transforms as tfs
import numpy as np

import torch
import pandas as pd

import re
import datetime



def tensor_to_PIL(tensor):
    image = tensor.cpu().clone()
    image = image.squeeze(0)
    image = unloader(image)
    return image

# 读入一张图片
im = Image.open('./demo/1.jpg')
print("im.mode is",im.mode)
print("im.size is ",im.size)
im.show()
# im=tfs.Resize(128)
# #print("h_filp.size is ",im.size)
# h_filp = tfs.RandomHorizontalFlip()(im)
# v_flip1 = tfs.RandomVerticalFlip()(h_filp)
# v_flip1=tfs.RandomCrop(96)
# #
# v_flip1.show()
###############
for i in range (20):
    loader = tfs.Compose([

        tfs.Resize(128),
        tfs.RandomHorizontalFlip(),
        tfs.RandomVerticalFlip(),
        tfs.RandomCrop(96),

        tfs.ToTensor(),
        tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
        ])

    unloader = tfs.ToPILImage()

    image = loader(im).unsqueeze(0) # 填充一维


    ####################
    ##Tensor_to_PIL    show_of_image 为PIL格式 为了显示!

    show_of_image = tensor_to_PIL(image) # 自动转换为0-255
    #print("save_of_image.mode is",im.mode)
    #print("save_of_image.size is ",im.size)

    #save_of_image.show()   #



   # path = 'C:/Users/Administrator/Desktop/桌面备份/GAN-defect-master/img_enhancement'
    #filename = path + re.sub(r'[^0-9]', '', datetime.datetime.now().strftime("%Y%m%d"))
    new_name = str(i) + '.jpg'
    ##保存图像 用 tensor 格式
    torchvision.utils.save_image(image, new_name)
    print("已保存"+str(i+1)+"张图像")

图像增强的20个操作

https://blog.youkuaiyun.com/u013925378/article/details/103363232/

2. TENSORFLOW /KERAS

from keras.preprocessing.image import ImageDataGenerator


datagen = ImageDataGenerator(
        rotation_range=10, #  旋转
        width_shift_range=0.08, #横向移动
        height_shift_range=0.08, #纵向移动
        shear_range=0.1, #以弧度逆时针方向剪切角度
        zoom_range=0.1, #随机缩放范围
        horizontal_flip=True, #随机水平翻转
        )

gen_data = datagen.flow_from_directory(
        directory = 'test',#读取目录
        save_prefix='data', #文件开头名字
        save_to_dir='new',#存入目录
        target_size=(100,100) #目标尺寸
)

for i in range(3):
    gen_data.next()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值