问题标签 [heic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 Python 中使用 HEIC 图像文件类型
将图像从 iPhone 空投到 OSX 设备时,默认使用高效图像文件(HEIF) 格式。我想用 Python 编辑和修改这些 .HEIC 文件。
我可以修改手机设置以默认保存为 JPG,但这并不能真正解决能够使用其他文件类型的问题。我仍然希望能够处理 HEIC 文件以进行文件转换、提取元数据等。(示例用例——地理编码)
枕头
这是尝试读取这种类型的文件时使用 Python 3.7 和 Pillow 的结果。
看起来需要对 python-pillow 的支持(#2806),但那里存在许可/专利问题阻止它。
ImageMagick + 魔杖
看来ImageMagick可能是一种选择。在做了一个之后brew install imagemagick
,pip install wand
但是我没有成功。
还有其他可用于以编程方式进行转换的替代方法吗?
image - 如何在 matlab 中读取 HEIC 图像?
我有一个来自我的 iPhone 的 HEIC 图像(它包含深度数据),我想将它导入 Matlab(在 Mac 上)。但 imread() 不支持这种格式。我怎么能做到这一点呢?
php - 使用 PHP 从 HEIC 照片中读取 EXIF 数据
我想从 HEIC 照片中读取 EXIF 数据。
如果我运行:
我明白了
如果我运行 Linux 工具exiftool test.heic
- 那么我可以看到我需要的所有信息(位置、相机名称等)。
如果我运行exif_read_data("test.jpg")
- 然后我会得到数据。所以我知道我使用的语法是正确的。
我正在使用 PHP 7.1 和 ImageMagick 6.9.4-10 (1684)。
我需要更新的版本吗?如果是这样,哪些适用于 HEIC?
javascript - iPhone XR,来自相机的图像在javascript中切换了宽度和高度
因此,在 iPhone XR 图像(heic 格式)上检测图像类型(横向/纵向)时,我似乎发现了一种奇怪的行为。似乎javascript切换了图像的宽度和高度。有关于这种行为的任何信息吗?或者你们对发生的事情有什么建议吗?检测任何其他图像中的正常行为的代码。
c++ - 是否可以使用 Windows 映像组件访问 HEIF 的“图像属性”元数据,例如“ispe”和“colr”?
我从格式规范中知道 HEIF 文件具有可以表示空间范围('ispe')、颜色信息('colr')、像素信息('pixi')等的图像属性。
是否可以使用 WIC 直接访问这些属性?
我可以使用GetMetadataByName访问 EXIF 和 IFD 元数据标签(如果它们存在于文件中) ,并通过取出框架来获取尺寸信息和像素格式,但我不确定是否有任何方法可以使用WIC 明确读出这些由 HEIF 格式定义的“描述性项目属性”。
c# - 如何提取 HEIC 文件格式中包含的多个图像?
我有一个包含多个图像的 HEIC 文件。如何以 JPEG 或 PNG 格式提取此图像序列?是否有简化流程的 NuGet?
这是一款适用于安卓、IOS和UWP的图像处理软件。我一直在寻找编写这部分代码的起点。
c# - 如何访问 HEIC 文件中的图像序列(使用 C#)?
我想使用 C# 访问 Heic 容器中包含的图像序列。
在 Windows 10 中,HEIF 图像扩展支持读取 (HEIF) 文件。如果设备上安装了前面提到的扩展,它应该被扩展到WIC以供开发人员使用。
我发现的有关此主题的其他库:- Magick.NET只能处理 HEIC 容器中的单个图像。- HEIF-Utility-Native-DLL和HEIF.NET与之前的问题相同。- libheif是一个 C++ 库。我不知道如何使用PInvoke,即使我一直在广泛尝试了解它是如何工作的(我无法阅读 C++)
如何使用我的代码检查扩展是否已安装?如何使用 C# 从 HEIC 容器访问图像序列?以及如何通过将图像序列打包到 Heic Container 中来实现 reverce?作为替代方案,我如何将此 JavaScript移植 到 C#,或在项目中将其与 C# 一起使用以访问图像?
image - 为什么将图像转换为 HEIC 会删除整行或整列像素?
在 macOS(在 Mojave 上测试)上,将图像(PNG 或 JPEG)转换为 HEIC 会导致图像比原始图像少一行或少一列。
尝试使用以下方法将原件转换为 HEIC:
javascript - 使 HTML5 FileReader 处理 heic 文件
当通过 FileReader api 从输入元素读取文件时,它可以工作,但我的 android 设备也允许发送文件,而且它似乎无论如何都发送 heic 文件,这会导致控制台中没有任何错误的空图像。直接从相机获取图像时,方向也是错误的。我刚刚找到要实现的重型库,我正在寻找更智能的解决方案。
JavaScript
HTML5
根本没有错误消息。无论我设置什么接受属性,桌面和安卓上的 Firefox、Chrome 都允许 .heic 文件。
最坏的解决方案:拒绝接受 .heic 文件 最佳解决方案:让 fileReader 处理 .heic 文件。在解决方案之间:检测 heic 并将其转换为 jpeg,客户端。
python - Python EXIF 找不到 HEIC 文件的拍摄日期,但在其他工具中可见
这类似于这个问题,除了那里的解决方案对我不起作用。
在 Windows 资源管理器中查看 HEIC 文件,我可以看到几个日期。与我所知道的相匹配的是我拍摄照片的日期,标题为“日期”和“拍摄日期”。其他日期不是我想要的。
我尝试了两种方法在 Python 中从此文件中获取 EXIF 数据:
这适用于许多其他图像,但对于我的 HEIC 文件信息是无。
我找到了上面链接的问题,并在那里尝试了答案(exifread):
这里的 exif 是 None。所以我想知道日期是否以其他方式编码在文件中,而不是 EXIF,但是这两个工具似乎以其他方式显示:
http://exif.regex.info/exif.cgi显示: EXIF 站点
所以我彻底糊涂了!我是否在 Windows 资源管理器和这些工具中看到了 EXIF 数据?如果是这样,为什么 Python 工具都没有看到它?
谢谢你的帮助!
Windows 10,Python 2.7.16。这些照片是在 iPhone XS 上拍摄的,如果相关的话。
更新:将 HEIC 文件转换为 jpg,两种方法都可以正常工作。