2014-12-22 100 views
0

我從緩衝區中讀取一張圖片(未知格式,最常見的是PNG或JPG)。 我可以用cv2.imdecode解碼,我甚至可以檢查它是否有效(imdecode返回非無)。OpenCV:如何從緩衝區讀取圖像格式?

但是我怎麼能顯示我剛剛讀取的緩衝區的圖像類型(PNG,JPG,其他)?

+0

你不行。一旦它是一個cv :: Mat或者一個numpy數組,它就不知道它是由什麼構成的。 – berak

+0

一旦您讀取圖像數據並將其存儲到緩衝區中,就是這樣。你不能確定它是什麼類型的圖像,因爲這是解碼圖像數據的目的! – rayryeng

+0

不 - 不 - 不。我在我的網頁表單處理器中獲得了一些原始圖像數據(用JPG,PNG等編碼)。它可能被破壞,它可能有不正確的擴展名。 OpenCV解碼器可以自動選擇編解碼器並對其進行解碼。它甚至可以檢查它是否正確編碼(沒有損壞)。但我仍然不知道如何獲得正確的文件類型(設置要保存的文件的擴展名)。 – Felix

回答

0

有一個標準的Python函數imghdr.what。它規則!

^__^