Python批量修改图片名称,格式,并批量量化

from PIL import Image
import numpy as np
import cv2
import matplotlib.pyplot as plt
import os


###############################################################批量修改图片格式bmp->png并量化

path_name = '/home/server109/ADAXI/code/PyCharm_Projects/train' #原图片所在路径
out_gray_HR = '/home/server109/ADAXI/code/PyCharm_Projects/train_gray_HR'
out_gray_LR = '/home/server109/ADAXI/code/PyCharm_Projects/train_gray_LR'
i = 0
for item in os.listdir(path=path_name):
    new_item = str(i)+'.bmp'  #元图片均为.bmp格式
    os.rename(os.path.join(path_name,item), os.path.join(path_name,new_item))
    file_path = os.path.join(path_name, new_item)
    out_path = os.path.splitext((file_path))[0] + '.png'
    print(out_path)
    Image.open(file_path).save(out_path)
    os.remove(os.path.join(path_name, new_item))
    i+=1
print("finish rename")
for item in os.listdir(path_name):
    image = cv2.imread(os.path.join(path_name, item))
    img_gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
    img_array = np.array(img_gray)
    rows, cols = img_array.shape
    cv2.imwrite(os.path.join(out_gray_HR, item), img_array)
    for i in range(rows):
        for j in range(cols):
            img_array[i, j] /= 64
    for i in range(rows):
        for j in range(cols):
            img_array[i, j] *= 64
    cv2.imwrite(os.path.join(out_gray_LR, item), img_array)
    print(os.path.join(out_gray_LR, item))
print("finish transform")
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值