天天看點

opencv(C++)雜七雜八記錄Mat格式對圖檔的操作

opencv(C++)雜七雜八記錄

  • Mat格式對圖檔的操作

Mat格式對圖檔的操作

Mat src(height, weight, CV_8UC1, Scalar(0));//初始化一個Mat格式圖檔
for(){
src.data[j] = Rec[j];//src.data是一個指針指向向量
}
imshow("output", src);//然後就可以show來看看了
imwrite("beforeLoopFilter.bmp", src);//儲存圖檔
waitKey(10000);
           

for循環把内容放進我們初始化的Mat格式圖檔裡,還可以用memcpy函數(單詞意思應該是memory copy)

memcpy(src.data, 原來的指針, sizeof(uchar)*height* weight);
           

但是這個函數是從原來指針指向的位置,往後面複制height* weight個像素過來,如果原來的指針不是按順序和大小存的就不行。比如我們項目中,圖檔是height為496,weight為352的尺寸,但指針指向的内容,一行存了512個像素,隻有前352個是我們想要的。是以隻能用for循環。