PIL&opencv_读取&保存图像

(1) PIL

import os
import numpy as np
from tqdm import tqdm
from PIL import Image

for file in tqdm(os.listdir(path)):
    # 读取图像
    img = np.array(Image.open(os.path.join(path, file)))
    (ids, ext) = os.path.splitext(file)
    img1 = np.rot90(img, 1)
    img2 = np.rot90(img, 2)
    img3 = np.rot90(img, 3)
    img4 = np.rot90(img, 4)
    
    # array转为Image 
    img1 = Image.fromarray(img1)
    img2 = Image.fromarray(img2)
     img3 = Image.fromarray(img3) 
     img4 = Image.fromarray(img4) 
      
    # 保存Image
    img1.save(os.path.join(augpath, ids + '_1.png'))
    img2.save(os.path.join(augpath, ids + '_2.png'))
    img3.save(os.path.join(augpath, ids + '_3.png'))
    img4.save(os.path.join(augpath, ids + '_4.png'))

(2) opencv-python

import os
import cv2
import numpy as np
from tqdm import tqdm

for file in tqdm(os.listdir(path):
    # 读取图像
    img = cv2.imread(os.path.join(path, name))
    (ids, ext) = os.path.splitext(name)

    img1 = np.rot90(img, 1)
    img2 = np.rot90(img, 2)
    img3 = np.rot90(img, 3)
    img4 = np.rot90(img, 4)
    
   # 保存图像
    cv2.imwrite(os.path.join(augpath, ids + '_1.png'), img1)
    cv2.imwrite(os.path.join(augpath, ids + '_2.png'), img2)
    cv2.imwrite(os.path.join(augpath, ids + '_3.png'), img3)
    cv2.imwrite(os.path.join(augpath, ids + '_4.png'), img4)

对于jpg图像,存储和读取时图像像素不一致,保存为png时正常
因为jpg是有损压缩格式,保存时会压缩失真(某些像素值会有少许变化),而.png 是无损压缩格式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值