1. 程式人生 > >android上jni跑影象分類程式崩潰了,報錯libc : Fatal signal 11 ... gif影象通道數是1啊

android上jni跑影象分類程式崩潰了,報錯libc : Fatal signal 11 ... gif影象通道數是1啊

android上jni跑影象分類程式崩潰了,報錯libc : Fatal signal 11  ...

還好一個同事查出來有張gif圖片冒充jpg,就是這個: 


怎麼知道是冒充的呢? 

用文字檔案檢視工具開啟這個圖片,就會發現頭幾個子母是GIF89a


那是怎麼崩潰的呢? 是因為在轉灰度圖時,通道數寫死的,是4,因為一般jpg,png圖片都可以表示為RGBA4通道,

所以改為根據影象的位元組長度除以寬度*高度就得到了準確的通道數,gif的通道數是1,只有256色

p.s 很奇怪,jni c++程式碼裡接收到的jint* 與上層傳遞的byte[]的長度不一樣