1.將圖片讀到Mat中比較簡單,直接用imread("xxx.jpg")即可;
2.讀入一個二進制的文件數據,在這裏,我讀的是一個數據大小爲640X480的二進制txt,
讀入Mat的程序如下:
Mat Img(480,640,CV_32FC1); //定義一個一維Mat數組
ifstream fin("xxx.txt", ios::binary); //二進制方式打開需要打開的文件
fin.read((char*)(Img.data),4*307200); //讀入文件數據到Mat數組,這裏的4*307200爲需要分配的內存大小
3.向三維Mat 賦值
由於我的Mat大小是Mat data (480,640,CV_32FC3)
故以此爲例:
for(int i=0;i<480;i++)
{
for(int j=0;j<480;j++)
{
float* p =(float*) data.data;
p[i]=要賦給的數據;
}
}
4.將Mat的值賦給其他變量的方法
float a = data.at<Vec3b>(i,j)[0] //<>中爲類型,float寫Vec3f,還有Vec3b,[ ]中表示通道數。