一、相关背景

一个项目,需要用Python读取.heic和.heif的图像。但是目前opencv不支持。震惊,opencv作为最专业知名的开源图像处理工具,居然不支持这种在ios和mac上广泛存在的图像格式。
有关这个编解码算法的可以自己查一下,大体上是诺基亚的专利,压缩效果好于jpeg (50%),被苹果付费使用了(还是买断了不知道)。

二、解决方案

https://stackoverflow.com/questions/54395735/how-to-work-with-heic-image-file-types-in-python
解决方案有好几个,但是这里面直说其中最简单的一个
借助pillow的一个插件包,pillow-heif


'''
需要安装pip3 install pillow-heif
'''from PIL import Image
from pillow_heif import register_heif_openerregister_heif_opener()image = Image.open('image.heic') # RGB, not BGR

三、结论

  1. 我也是第一次知道这个图像格式,因为常年安卓,接触不到这个格式的图像。并且这个格式的图像在大部分软件上发出来以后都会被自动转码。
  2. OpenCV居然不支持这是最搞笑的,这也算不上小众格式,OpenCV居然不支持

python读取heic/heif后缀的图像相关推荐

  1. python读取图片文件显示_Python—图像基本操作以及图像格式转换

    关于图像处理的模块常用的有 PIL,openCV等,不过应为要处理 tif 格式的图片,故特来写下这篇博客. 关于安装模块 libtiff 直接pip install libtiff 安装模块,发现无 ...

  2. python读取文件夹下所有图像 预处理_Tensorflow之tif图像文件预处理

    写在前面 许久没有登录我的简书了,或许忙只是给自己的借口,内心浮躁,不愿坐下来静下心写点东西才是真正的原因.写作是个该坚持的好习惯,一方面能记录下一些当时的心情想法,一方面也是在锻炼自己的表达能力.善 ...

  3. python读取文件夹下所有图像 预处理_在python中读取预处理的cr2原始图像数据

    您可以使用rawkit来获取这些数据,但是,您将无法使用实际的rawkit模块(它为处理原始图像提供了更高级别的api).相反,您将希望主要使用libraw模块,该模块允许您访问底层LibRaw ap ...

  4. python读取word中后缀名docx的文件的表格

    1.安装所需要的解析包 pip install python-docx pip install docx 2.使用代码例子来进行演示用法 解析出word中的如下表格: def parse_docx(f ...

  5. 使用python读取文件夹中的图像并改变尺寸。

    import cv2 import NumPy as np import osdef over_path(path, save_path):for root, dir, files in os.wal ...

  6. python读取多张图片_python读取图片的几种方式及图像宽和高的存储顺序

    python读取图片的几种方式及图像宽和高的存储顺序 1.opencv 2.imageio 3.matplotlib 4.scipy # coding:utf-8 import cv2 import ...

  7. HEIF图像编码标准-python读取HEIF图像

    一.相关背景 线上paddle OCR 报错,发现是opencv 读取 heic图像报错,借此了解了一下heif编码格式 二.什么是HEIF HEIF全称:High Efficiency Image ...

  8. Python读取.dat后缀名文件

    Python读取.dat后缀名文件 .dat文件基本上是没有任何头的二进制文件.对于每个样本,它由(256,256,3)个uint8图像,(64,64,1)uint8深度图和1个uint8标签组成.T ...

  9. python读取一个图像_从图像处理python的文件中读取多个图像

    嗨,我有一个脚本来运行图像处理.但是我想用一个循环或者其他方法从一个文件中读取多个图像 例如C:\Users\student\Desktop\Don\program (opencv version)\ ...

最新文章

  1. 树莓派小车python操作流程--龙邱科技
  2. iOS10 UI教程子视图和父视图UI层次结构和Views继承
  3. git push 的符号笔有什么用_Git 标签(tag)作用、分支区别及常用命令
  4. 量子传输技术转移一个人需要4500万亿年
  5. 找到的程序集清单定义与程序集引用不匹配
  6. 推动Windows的限制:物理内存
  7. 轻松生成ip地址的姿势,最快得到批量***目标
  8. C++ 常见错误(01) —— error LNK1104: 无法打开文件“avcodec.lib”
  9. 一套精美的私服发布网,适用任何游戏发布
  10. 关于股票的经典书籍有哪些推荐?
  11. 轮播图和导航栏:Vue和JavaScript分别实现
  12. ElasticSearch常用语法大全
  13. Kafka:Docker Compose部署Kafka集群
  14. [源码解析] 深度学习流水线并行GPipe (2) ----- 梯度累积
  15. 浏览器首页被劫持(解决)-桔梗网
  16. 软件分享系列之【Office 2010下载安装】并持续分享中...
  17. LTE学习笔记 ——GTP-U
  18. requests.exceptions.ConnectionError: HTTPConnectionPool(host=‘localhost‘, port=8123): Max retries ex
  19. ubuntu bash: /dev/fd/63: No such file or directory
  20. 万字详解 Google Play 上架应用标准包格式 AAB

热门文章

  1. 方差、标准差、平方差、残差
  2. leaflet、cesium加载百度地图,加载自定义样式百度地图
  3. 《大侦探福尔摩斯2:诡影游戏》蓝光高清720P 1080P下载[2011最新动作]
  4. 查看内存大小时解决的单位问题
  5. 【论文解读】HIN2Vec: Explore Meta-paths in Heterogeneous Information Networks for Representation Learning
  6. mac电脑上遇到的坑,持续更新...
  7. js对json、xml字符串格式化(美化增强可读性)
  8. JAVA —— 比较日期时间大小
  9. hpux oracle INS-06006 PRVF-7546
  10. 电路方案分析(二)BLDC驱动和控制电路原理图分析