在window下用python把heic格式的照片转成jpg

iphone相机提供了两种保存照片的方式,一种是“高效”,另外一种是“兼容性最佳”。

我们可以通过

设置----》相机----》格式

就可以进入下面这个界面来设置


IMG_2559.PNG

那么,我们应该怎么来设置呢?来自apple社区有相关的讨论

我想问问,设置-相机-格式,你们选择“高效”,还是 "兼容性最佳" ?我发现高效的格式,图片质量非常大,同一角度,
高效格式6m兼容性最佳 2m
有时是高效格式11m兼容性最佳 6m
至于图片质量,我不专业,我个人觉得差别不大,但是图片大小相差巨大,细节地方,放大到很大才发现差别。你们的怎么看?

有这样答的,感觉很详细了

一般来说,建议选择“高效”。“高效”所指的HEIF(图片)、HEVC(视频)格式更为先进,特别是它们的压缩算法更好,能显著减小文件体积、同时维持质量相同甚至更好。几年前刚开始推广它们的时候,会出现兼容性问题(例如一些旧版本Windows、iOS、macOS等的内置软件无法正确打开,需要借助第三方软件),但现在几乎可以不必考虑。PS:并不是说保持同一角度拍摄,图片就应该一样大;压缩算法对图像内容的“细微”变化非常敏感。

可以下载免费的软件“HEIF-Utility”,但这个软件在转换照片的时候,会丢弃EXIF信息(就是我们照相时的时间,照相时的GPS,照相的设备信息等),这些信息其实是比较重要的,比如照片实际拍摄时间如果没有了,我们就不知道这个照片时间拍摄时间了,一些智能分类软件也没有办法按照时间进行分类。

在网上又找了一些其他的软件,但都是收费的,或者转换完会丢弃EXIF。自己就写了一个python脚本来处理。

由于是window系统,在网上搜了一下,大部分都是“import pyheif”,而这个只能在MAC,或者Linux系统下运行,后又发现“pillow_heif ”是可以在window下作用的,于是按照“import pillow_heif ”,进行了实现,并且可以正确保持照片的EXIF信息。

环境,windows, python3,如果没有安装pillow_heif或piexif的话

python3 -m pip install --upgrade pip
python3 -m pip install pillow-heif
python3 -m pip install --upgrade Pillow
pip install piexif
sudo pip3 install glob3

glob这个不同的python版本对应的名字不一样,要切记。
python 2.7:

sudo pip install glob2

python 3.5:

sudo pip install glob3

from PIL import Image
import pillow_heif
import piexif
from glob import glob
import sys

# pillow_heif.register_heif_opener()
 
def heic_to_jpg(img_path,save_path):
    name = (img_path.split('\\')[-1]).split('.')[0]
    # open the image file
    heif_file = pillow_heif.read_heif(img_path)

    #create the new image
    image = Image.frombytes(
    heif_file.mode,
    heif_file.size,
    heif_file.data,
    "raw",
    heif_file.mode,
    heif_file.stride,
    )
    # PIL rotates the image according to exif info, so it's necessary to remove the orientation tag otherwise the image will be rotated again (1° time from PIL, 2° from viewer).
    exif_dict = piexif.load(heif_file.info['exif'])
    exif_dict['0th'][274] = 0
    exif_bytes = piexif.dump(exif_dict)
    image.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg
 
files = glob(r"D:/NEW/12/2022/12/04/*.heic") #读取全部heic文件地址   
save_path = "D:/NEW/12/2022/12/04/dst/" #储存地址
for img in files:
    print("Conversion process: ", img)
    sys.stdout.flush()
    heic_to_jpg(img,save_path)

print('--------------finish-------------')

python - HEIC to JPEG conversion with metadata - Stack Overflow

还可以同时调节下面这些参数

"""
1、对比度:白色画面(最亮时)下的亮度除以黑色画面(最暗时)下的亮度;
2、色彩饱和度::彩度除以明度,指色彩的鲜艳程度,也称色彩的纯度;
3、色调:向负方向调节会显现红色,正方向调节则增加黄色。适合对肤色对象进行微调;
4、锐度:是反映图像平面清晰度和图像边缘锐利程度的一个指标。
"""

from PIL import Image
from PIL import ImageEnhance
#读取图片,如果已经使用了Image.frombytes,就不需要这步
     image = Image.open(image_path)
 
     #变亮
     #亮度增强,增强因子为0.0将产生黑色图像;为1.0将保持原始图像。
     enh_bri = ImageEnhance.Brightness(image)
     brightness = 1.5
     image_brightened1 = enh_bri.enhance(brightness)
     image_brightened1.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg
 
     #变暗
     enh_bri = ImageEnhance.Brightness(image)
     brightness = 0.8
     image_brightened2 = enh_bri.enhance(brightness)
     image_brightened2.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg
 
     #色度,增强因子为1.0是原始图像
     # 色度增强
     enh_col = ImageEnhance.Color(image)
     color = 1.5
     image_colored1 = enh_col.enhance(color)
     image_colored1.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg
 
     # 色度减弱
     enh_col = ImageEnhance.Color(image)
     color = 0.8
     image_colored2 = enh_col.enhance(color)
     image_colored2.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg
 
     #对比度,增强因子为1.0是原始图片
     # 对比度增强
     enh_con = ImageEnhance.Contrast(image)
     contrast = 1.5
     image_contrasted1 = enh_con.enhance(contrast)
     image_contrasted1.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg
 
     # 对比度减弱
     enh_con = ImageEnhance.Contrast(image)
     contrast = 0.8
     image_contrasted2 = enh_con.enhance(contrast)
     image_contrasted2.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg
 
     # 锐度,增强因子为1.0是原始图片
     # 锐度增强
     enh_sha = ImageEnhance.Sharpness(image)
     sharpness = 3.0
     image_sharped1 = enh_sha.enhance(sharpness)
     image_sharped1.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg
 
     # 锐度减弱
     enh_sha = ImageEnhance.Sharpness(image)
     sharpness = 0.8
     image_sharped2 = enh_sha.enhance(sharpness)
     image_sharped2.save(save_path+name+".jpg", "JPEG", exif=exif_bytes, quality=85) #默认转成jpg

python中使用PIL模块中的ImageEnhance进行图片数据增强_pursuit_zhangyu的博客-CSDN博客_pil图像增强

单独调整亮度

im1 = Image.open("angelababy.jpg")
im2 = im1.point(lambda p: p * 0.5)
im2.save("angelababy2.jpg")

python实现图片变亮或变暗的方法分析_googler_offer的博客-CSDN博客_python图像变暗

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 227,488评论 6 531
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,034评论 3 414
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 175,327评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,554评论 1 307
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,337评论 6 404
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,883评论 1 321
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,975评论 3 439
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,114评论 0 286
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,625评论 1 332
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,555评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,737评论 1 369
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,244评论 5 355
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 43,973评论 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,362评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,615评论 1 280
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,343评论 3 390
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,699评论 2 370

推荐阅读更多精彩内容