我正在開發用于調整影像大小的應用程式。它在 jpg、png、jpeg 影像格式下作業正常,但對 heic 檔案無法正常作業。
錯誤:
OpenCV(4.4.0) /tmp/pip-req-build-vu_aq9yd/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
代碼片段
npimg = np.frombuffer(stream.read(), np.uint8)
img = cv2.cvtColor(cv2.imdecode(npimg, cv2.IMREAD_COLOR), cv2.COLOR_BGR2RGB)
h, w = cls.get_dims(img, dpi)
img = cv2.resize(img, (w, h), interpolation=cv2.INTER_AREA)
return Image.fromarray(img).convert("RGB")
我發現的是:
cv2.imdecode(npimg, cv2.IMREAD_COLOR)沒有回傳 。
我無法弄清楚為什么它不能使用 heic 檔案。這個問題的解決方案是什么?
注意:
我已經瀏覽了以前的類似問題,但沒有一個對我有用。
uj5u.com熱心網友回復:
OpenCV 不支持 heic 檔案。從 OpenCV 檔案:
Currently, the following file formats are supported:
Windows bitmaps - *.bmp, *.dib (always supported)
JPEG files - *.jpeg, *.jpg, *.jpe (see the Note section)
JPEG 2000 files - *.jp2 (see the Note section)
Portable Network Graphics - *.png (see the Note section)
WebP - *.webp (see the Note section)
Portable image format - *.pbm, *.pgm, *.ppm *.pxm, *.pnm (always supported)
PFM files - *.pfm (see the Note section)
Sun rasters - *.sr, *.ras (always supported)
TIFF files - *.tiff, *.tif (see the Note section)
OpenEXR Image files - *.exr (see the Note section)
Radiance HDR - *.hdr, *.pic (always supported)
Raster and Vector geospatial data supported by GDAL (see the Note section)
https://docs.opencv.org/4.5.4/d4/da8/group__imgcodecs.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/327242.html
