簡體   English   中英

如果沒有圖像處理 python 庫(Pillow 和 cv2)無法讀取,如何解碼這個二進制圖像文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM