首页 > 其他 > 详细

图像转换png->jpg

时间:2020-03-28 10:34:58      阅读:70      评论:0      收藏:0      [点我收藏+]

png没法直接图像识别,需要转jpg,否则会报错“cannot write mode RGBA as JPEG”。

png是以RGBA(red,green,blue,alpha)存储,最后的alpha是透明度,往往一转图片体积就小很多,因为jpg是rgb格式,不支持alpha。

代码如下:

from PIL import Image

def IsValidImage(img_path):
    """
    判断文件是否为有效(完整)的图片
    :param img_path:图片路径
    :return:True:有效 False:无效
    """
    bValid = True
    try:
        Image.open(img_path).verify()
    except:
        bValid = False
    return bValid


def transimg(img_path):
    """
    转换图片格式
    :param img_path:图片路径
    :return: True:成功 False:失败
    """
    if IsValidImage(img_path):
        try:
            str = img_path.rsplit(".", 1)
            output_img_path = str[0] + ".jpg"
            print(output_img_path)
            im = Image.open(img_path)
            rgb_im = im.convert(‘RGB‘)
            rgb_im.save(output_img_path)
            return True
        except:
            return False
    else:
        return False

if __name__ == ‘__main__‘:
    img_path = r‘C:\test.png‘
    print(transimg(img_path))

  

 

图像转换png->jpg

原文:https://www.cnblogs.com/marszhw/p/12586085.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!