如何在 matlab 中读取 HEIC 图像?

How can I read an HEIC image in matlab?

我有一张来自 iPhone 的 HEIC 图像(它包含深度数据),我想将它导入 Matlab(在 Mac 上)。但是 imread() 不支持这种格式。我怎样才能实现这个目标?

如果您使用 homebrew 来管理 Mac 上的软件包,您可以安装支持 HEIC 的 ImageMagick(通过 libde265) 像这样(顺序很重要):

brew install libde265
brew install imagemagick

然后您应该能够运行以下命令来检查您是否支持 HEIC:

magick identify -list format | grep -Ei "HEIC|HEIF"

示例输出

  Format  Module    Mode  Description
  -------------------------------------------------------------------------------
  3FR  DNG       r--   Hasselblad CFV/H3D39II
  3G2  MPEG      r--   Media Container
  3GP  MPEG      r--   Media Container
  AAI* AAI       rw+   AAI Dune image
   AI  PDF       rw-   Adobe Illustrator CS2
  ART* ART       rw-   PFS: 1st Publisher Clip Art
  ARW  DNG       r--   Sony Alpha Raw Image Format
  AVI  MPEG      r--   Microsoft Audio/Visual Interleaved
  AVS* AVS       rw+   AVS X image
  BGR* BGR       rw+   Raw blue, green, and red samples
  ...
  ...
  HEIC* HEIC      rw-   High Efficiency Image Format      <--- THERE IT IS

如果一切正常,您应该能够检查您的 HEIC 图像之一:

magick identify -verbose SomeImage.HEIC

然后我们应该能够从图像中提取您想要的任何内容,并将其转换为 Matlab 可以读取的某种格式 - 但它都是全新的,我需要您提供有关进展的反馈...