我用gimp編輯了一張簡單的png圖片,但它把透明的背景變成了黑色。所以我試著撤銷它,但沒有任何改變。然后我完全洗掉了所有的像素(ctrl A和洗掉)--這使得影像完全空白(白色)。但后來我用OpenCV(python,ubuntu 16.04)讀取了它,我仍然可以看到那張舊照片!
這是一個簡單的代碼。
這是我用來讀取影像的簡單代碼。你可以看到它是完全空白的(白色)。
但后來我運行代碼,仍然可以看到舊的圖片!
在這里你可以看到--它是完全空的。我用Firefox、Gimp、默認的ubuntu圖片查看器、windows圖片查看器打開它--同樣的空白圖片。
。
。
所以我決定嘗試一下,我用Gimp在那張圖片上畫了一下:
然后我又運行了同樣的代碼。
在撤銷問號后,影像又回到了原樣。我想--這可能是一些軟體錯誤--我重新啟動--也是如此。然后我把'nothing.png'復制到Win10。同樣的代碼--同樣的結果。圖片大約是449kB大小。它在這里。

這里到底發生了什么?
uj5u.com熱心網友回復:
GIMP并沒有洗掉RGB資料,它只是將alpha通道設定為0。
這就夠了......除非你忽略alpha通道。
OpenCV忽略了alpha通道...它只是另一個通道,一點也不特別。OpenCV可以讀寫RGBA資料,而且你可以像其他通道一樣使用alpha通道。只是用imshow顯示時忽略了alpha通道,而向你顯示RGB資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/328638.html
標籤:
