Python은 heic/heif 접미사가 있는 이미지를 읽습니다.

1. 관련 배경

프로젝트에서는 Python을 사용하여 .heic 및 .heif 이미지를 읽어야 합니다. 하지만 현재 opencv는 이를 지원하지 않습니다. 놀랍게도 가장 전문적이고 잘 알려진 오픈 소스 이미지 처리 도구인 opencv는 iOS 및 Mac에서 널리 사용되는 이 이미지 형식을 지원하지 않습니다.
이 코덱 알고리즘에 대해 직접 확인하실 수 있습니다. 일반적으로 Nokia에서 특허를 받은 것으로, 압축 효과가 jpeg(50%)보다 좋습니다. Apple에서 비용을 지불합니다(매수되는지는 모르겠습니다).

2. 솔루션

https://stackoverflow.com/questions/54395735/how-to-work-with-heic-image-file-types-in-python
여러 가지 해결책이 있지만
베개 A 플러그를 사용하는 가장 간단한 해결책은 다음과 같습니다. 패키지로,pillow-heif


'''
需要安装pip3 install pillow-heif
'''

from PIL import Image
from pillow_heif import register_heif_opener

register_heif_opener()

image = Image.open('image.heic') # RGB, not BGR


3. 결론

  1. 저도 이런 이미지 형식을 처음 알았는데, 안드로이드를 오랫동안 사용해왔기 때문에 이 형식의 이미지에는 접근할 수 없었습니다. 그리고 이 형식의 이미지는 대부분의 소프트웨어에서 전송된 후 자동으로 트랜스코딩됩니다.
  2. 가장 웃긴 점은 OpenCV가 이를 지원하지 않는다는 점입니다. 이것은 틈새 형식이 아니며 OpenCV는 이를 지원하지 않습니다.

추천

출처blog.csdn.net/qq_29007291/article/details/127401299