对于一个大量使用opencv/numpy/scipy的python项目,我想摄取一个.HEIC/.HEIF图像**,而不需要**首先转换成任何其他格式,例如JPEG等。
有什么办法吗?
此链接并不意味着:
https://docs.opencv.org/3.0-beta/modules/imgcodecs/doc/阅读_and_writing_images.html?highlight=imread#Mat%20imread(const%20String&%20filename,%20int%20flags)
但提示启用构建标志OPENCV_BUILD_3RDPARTY_LIBS
可能会有帮助。搜索该标志结果很少。
注意:请不要使用PIL/枕头,除非这是唯一的方法。
谢谢!
3条答案
按热度按时间sf6xfgos1#
你可以用
pyvips
这样做:示例输出
6kkfgxo02#
你可以使用Python Wand来实现,它使用ImageMagick并安装了libheif委托,或者你可以简单地使用子进程调用从Python调用ImageMagick。
fjnneemd3#
使用OpenCV将HEIC转换为PNG
如果不需要高位格式,则删除
convert_hdr_to_8bit
参数。这是一个仅处理文件中第一个图像的简化示例。
P.S.:
pillow_heif
最小支持版本为0.10.0