1. 程式人生 > >Mat資料型別 convertTo

Mat資料型別 convertTo

1.一般影象檔案格式使用的是unsigned 8bits,對應的資料型別有:CV_8UC1、CV_8UC2,CV_8UC3

其中,CV_8UC3表示3通道8位的unsigned char型

float是32位,對應的CvMat資料結構型別是:CV_32FC1,CV_32FC2,CV_32FC3

double是64位,對應的CvMat資料結構型別是:CV_64FC1,CV_64FC2,CV_64FC3,

其中,CV_64FC3表示64位的3通道double型

如果想實現不同資料型別之間的轉化,需要使用convertTo函式

2.需要注意的地方:公式裡用到了exp函式,圖片預設是unsigned char型,範圍是0-255,公式中的0.5是0-1範圍內的,所以需要將原影象
轉換為double型,將灰度值都轉換為0-1之間,就可以利用該公式進行相應的運算。處理完以後,影象還是CV_64FC3型別,如果直接儲存,
點開影象會發現,顯示全黑,這是因為電腦預設開啟圖片是CV_8UC3型別的,所以還需要將CV_64FC3乘以255,再轉換為CV_8UC3

3.Vec3b---表示每一個Vec3b物件中,可以儲存3個char(字元型)資料,比如可以用這樣的物件,去儲存RGB影象中的一個畫素點  
Vec3d---表示每一個Vec3d物件中,可以儲存3個double(字元型)資料
Vec3f---表示每一個Vec3d物件中,可以儲存3個float(字元型)資料