OpenCV靜心修煉總結篇3——Mat 物件的使用
阿新 • • 發佈:2018-11-17
按照src 大小尺寸 型別複製 size type
參考程式碼:
Mat dst;
dst = Mat(src.size(),src.type());
dst= Scalar(0,0,100); // 為BGR 每個通道賦值
namedWindow("output image",CV_WINDOW_AUTOSIZE);
imshow("output image",dst);
clone 克隆
參考程式碼:
Mat dst = src.clone();
namedWindow("output image",CV_WINDOW_AUTOSIZE);
imshow("output image",dst);
copyTo 克隆
參考程式碼:
Mat dst; src.copyTo(dst); namedWindow("output image",CV_WINDOW_AUTOSIZE); imshow("output image",dst);
影象通道數檢視 channels
參考程式碼:
Mat dst;
cvtColor(src,dst,CV_BGR2GRAY);
printf("input image channels: %d\n",src.channels());
printf("output image channels: %d\n",dst.channels());
列印灰度圖的行數與列數 讀取灰度圖片某一行資料
參考程式碼:
int cols = dst.cols;
int rows = dst.rows;
printf("cols: %d, rows: %d\n",cols,rows);
for(int i=0;i<dst.rows;i++)
{
static uchar *firstrow = dst.ptr<uchar>(i);
printf("%d row fiex %d\n",i,*firstrow);
}
Mat物件建立
參考程式碼:
Mat M(3,3,CV_8UC3,Scalar(0,0,255));
cout<<"M:"<< endl <<M << endl;
imshow("output image",M);