python/PIL png,jpeg转bmp格式

import os


# 获取当前dir下文件名符合pattern的files
# R为True  搜索子目录
def getAllFile(dir, pattern,R=False):
    import pathlib

    d = pathlib.Path(dir)
    if R:
        files = d.rglob(pattern)
        files = [str(i) for i in files]
    else:
        files = d.glob(pattern)
        files = [os.path.realpath(i) for i in files]
    return files

def toBMP(file,gray=True):



    from PIL import Image
    # 图片目录
    dir = os.path.split(os.path.realpath(file))[0]
    
    # 图片名称
    file_simple =  os.path.split(os.path.realpath(file))[1]

    
    # bmp文件在同一目录下  图片名称一样
    target= dir+os.path.sep +file_simple.split(".")[0] + ".bmp"
    
    # bmp已经存在  跳过
    if os.path.exists(target):
        print("{} is already exists".format(target))
        return

    # 使用PIL的image读取
    img = Image.open(file)

    # 修改图片size
    new_img = img.resize( img.size)


    if gray:
       
        target = dir + os.path.sep + file_simple.split(".")[0] + "_gray.bmp"
        if os.path.exists(target):
            print("{} is already exists".format(target))
            return
        #  转成黑白
        new_img = new_img.convert('1')
    # 保存为bmp格式
    new_img.save( target, 'bmp')
    # cv2.imwrite(target,img)
    print("{} is ok".format(file))
if __name__ == '__main__':
    # files = getAllFile("./my","*.png",False)
    # for file in files:
    #     toBMP(file,False)
    file = "/home/lenong0427/PycharmProjects/pythonProject1/PLS/SVR_grid/map1/img-2.png"
    toBMP(file,False)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值