一、概述
這個異常是在用OpenCV做高斯雙邊濾波做圖像美化的時候出現的異常。這個異常信息的意思是圖像類型不對。高斯雙邊濾波只允許CV_8UC1或者CV_8UC3即只能加載單通多的灰色圖片或者三通道的彩色圖片。
二、產生的原因
原因在於我在做測試的時候直接用BitmapFactory加載了一個Bitmap對象,並把Bitmap對象通過opencv的Uitls工具轉換為了Mat對象,然后操作了這個Mat對象。由於Bitmap默認的通道時RGBA,而openCV默認的是GBR,由於通道不一致所以導致了以上的那個錯誤。
三、解決方法
解決方案也是比較簡單,把RGBA色彩控件轉換為BGR色彩空間就OK了。具體的轉換是通過 Imgproc.cvtColor(target,dst,Imgproc.COLOR_RGBA2BGR);