一、相关背景

线上paddle OCR 报错,发现是opencv 读取 heic图像报错,借此了解了一下heif编码格式

二、什么是HEIF

HEIF全称:High Efficiency Image File Format 。它是一种容器格式,用来存放单图或者图像序列。HEIF标准包含了多种媒体格式,比如音频、视频、时间文本。且它可以存放 不同编码方式的图像组成的图像序列。

具体内容看https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format

简而言之,HEIF是个新式的容器,可以存放各种多媒体数据。

三、HEIF的多种变种后缀

基于HEIF 出现了很多变种格式,比如iphone 拍出来的 .heic图像格式。除此之外还有.avci、.avif等格式

这些不同的后缀名只是为了说明其中的图像or 图像序列使用的编码方式是啥。

  • .heic 表明其中使用的编解码器是HEVC相关的编解码器,如果是单幅图就是 HEVC的I-frame 的帧内编码算法,如果是图像序列就是HEVC的视频编码算法。
  • .avci 表明其中的编码算法是AVC相关
  • .avif 表明其中的编码算法是和AV1相关

四、opencv 为什么不支持HEIF

HEIF format support in OpenCV · Issue #14534 · opencv/opencv (github.com)

  • HEIF中包含的可能不是一幅图,所以无法用imread 直接读取。因为imread 目标是读取一幅图

附录、opencv 无法读取heif的解决方案

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

HEIF图像编码标准-python读取HEIF图像相关推荐

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

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

  2. python读取heic/heif后缀的图像

    一.相关背景 一个项目,需要用Python读取.heic和.heif的图像.但是目前opencv不支持.震惊,opencv作为最专业知名的开源图像处理工具,居然不支持这种在ios和mac上广泛存在的图 ...

  3. python下:用 matplotlib.pyplot 显示 Opencv 读取的图像

    在涉及图像处理时,我们通常用opencv去读取并处理图像,而用matplotlib去显示图像,因为opencv有很强的图像处理能力,而matplotlib有很强的可视化能力,可以方便的可视化分析实验的 ...

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

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

  5. python、PyTorch图像读取与numpy转换

    原文:https://blog.csdn.net/yskyskyer123/article/details/80707038 python.PyTorch图像读取与numpy转换 Tensor转为nu ...

  6. python读取excle表格数据,将数据编辑到图像上工程

    这里写目录标题 一级目录:python读取excel表格内容 二级目录:python如何分割字符串 三级目录:python如何在图像的相应位置编辑文字或者字母.数字 一级目录:python读取exce ...

  7. python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式

    本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...

  8. python打开文件夹中的tiff_浅谈python下tiff图像的读取和保存方法

    对比测试 scipy.misc和 PIL.Image和 libtiff.TIFF三个库 输入: 1. (读取矩阵) 读入uint8.uint16.float32的lena.tif 2. (生成矩阵) ...

  9. RAW图像详解及使用Python读取raw格式图像并显示

    一.RAW图像详解 1.1 什么是raw格式图像? RAW在英文中的解释是未处理的.自然状态的,这也就是RAW文件的真谛.RAW图像就是CMOS或者CCD图像感应器将捕捉到 的光源信号转化为数字信号的 ...

最新文章

  1. javaScript小问题,托拽元素,获得当前鼠标的坐标
  2. 清华大学大数据研究中心给您拜年啦!
  3. 2019寒假纪中集训总结学期总结(流水账)
  4. Element-UI分页组件使用——点第几页查第几页
  5. 疑似三星Galaxy S11入网:搭载骁龙865处理器+支持25W快充
  6. 一些shell脚本,sed替换
  7. Java虚拟机的参数
  8. Hello Qt(十四)——QT绘图系统
  9. office 365与Visio共存
  10. 最全地理数据下载网址
  11. 求解会议安排问题(回溯,C++)
  12. 学习笔记(02):英特尔® OpenVINO™工具套件初级课程-如何加速视频处理进程?
  13. FOJ 1921 栀子花开 线段树裸题
  14. Composer安装包
  15. java简单人物介绍
  16. 百练 / 2016计算机学科夏令营上机考试: E
  17. 为什么要格式化namenode以及注意点
  18. css 设置鼠标滑过变色效果
  19. 自动驾驶nuScenes数据集——一个KITTI以外的新数据集
  20. 台式计算机蓝屏代码08e,Win8.1电脑开机出现蓝屏代码0x000008e如何解决

热门文章

  1. google adsence 盛情
  2. 时间都去哪了。。。。
  3. Hadoop HIPI
  4. 百度地图实现普通地图、卫星图、三维图、混合图(卫星图+路网)
  5. 【HIN】异质信息网络分析与应用综述
  6. HCL 模拟器安装注意
  7. Mybatis使用及原理
  8. List 列表的用法
  9. 第一篇博客,写给自己
  10. (一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程