pyVLfeat是著名的圖像處理庫VLFeat在python上的接口包。在linux環境下使用該庫提示“段錯誤”。百度后得知:
意思其實就是數組溢出,然后想怎么會數組溢出呢?查看Vlfeat matlab接口的程序的時候看到這樣一句
I = single(vl_imdown(rgb2gray(I))) ;rgb2gray是把圖片變成單通道圖片,vl_imdown是對圖片降采樣,這都不是關鍵,最關鍵的還是在single()這個函數,百度百科可以知道:
matlab中single函數把一個矩陣中所有元素都變為單精度的。
也就是說,我也要做一個單精度的處理,再百度單精度:
單精度數,是指計算機表達實數近似值的一種方式。VB中,Single(單精度浮點型)變量存儲為 IEEE 32 位(4 個字節)浮點數值的形式
也就是說,要將圖片全部轉換成float32的格式。直接用np.float32(I),bingo!搞定
新聞熱點
疑難解答