[英]How to decode this binary image file if none of image processing python libraries (Pillow and cv2) are unable to read?
我正在嘗試在 python 中使用 Pillow 和 cv2 讀取此文件。 然而,這兩個圖書館都沒有這樣做。
文件在谷歌驅動器上。
枕頭引發“OSError:無法識別圖像文件 0.jpg” cv2 返回無
這個二進制文件的擴展名為“.jpg”,可以使用 Window 的照片查看器輕松查看。
但是,我想在 python 中讀取和解碼這個二進制文件作為圖像。
任何想法?
你的文件實際上是一個 JXR 文件,你可以看到前幾個字節是:
49 49 BC
如果您將其加載到像http://hexed.it這樣的十六進制編輯器中
簽名是 IANA 注冊的,請參見此處。
你可以像這樣使用圖像編解碼器來閱讀它:
import imagecodecs
from pathlib import Path
# Slurp entire image data as binary
jxr = Path('0.jpg').read_bytes()
# Make into Numpy array
na = imagecodecs.jpegxr_decode(jxr)
print(na.shape) # prints (256, 512, 3)
或者,您可以在終端中使用ImageMagick將 JXR 轉換為不那么 Microsofty 的東西:
magick input.jxr output.jpg
或者,如果您有舊的 v6 ImageMagick ,請使用:
convert input.jxr output.jpg
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.