700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 批量苹果手机拍摄照片格式修改(heic转jpg)

批量苹果手机拍摄照片格式修改(heic转jpg)

时间:2023-09-25 19:18:55

相关推荐

批量苹果手机拍摄照片格式修改(heic转jpg)

使用说明,把拍摄数据放入文件夹dir 。dir 目录中新建heic2jpg文件夹。

格式如下:

—dir

------heic2jpg

------XX1.heic

------XX2.heic

------XX3.heic

------XX4.heic

代码运行结束,格式如下:

格式如下:

—dir

------heic2jpg

---------XX1.jpg

---------XX2.jpg

---------XX3.jpg

---------XX4.jpg

------XX1.heic

------XX2.heic

------XX3.heic

------XX4.heic

import subprocessimport osimport ioimport whatimageimport pyheifimport tracebackfrom PIL import Imageimport stringdef decodeImage(bytesIo,dir,name,n):try:fmt = whatimage.identify_image(bytesIo)# print(fmt)# print('fmt = ', fmt)if fmt in ['heic']:i = pyheif.read_heif(bytesIo)# print('i = ', i)# print('i.metadata = ', i.metadata)pi = Image.frombytes(mode=i.mode, size=i.size, data=i.data)# print('pi = ', pi)pi = pi.convert('RGB')save_dir = dir+'/heic2jpg/'+str(n)+'.jpg'assert os.path.exists(dir+'/heic2jpg/')pi.save(save_dir, format="jpeg")return 0except:traceback.print_exc()return -1def read_image_file_rb(file_path):with open(file_path, 'rb') as f:file_data = f.read()return file_datadef data_dir(dir):file_names = [i for i in os.walk(dir)][0][2]return file_namesif __name__ == "__main__":dir = r'/path' #修改目录路径file_names = data_dir(dir)n = 0for i in file_names:file_path = dir+"/"+ij = i.split('.')[0]# print(i)data = read_image_file_rb(file_path)# print('data = ', data)BOOL = decodeImage(data,dir,j,n)n = n + 1if BOOL == -1:print(i,"error")breakprint(i,"finished")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。