1. 程式人生 > >OpenCV靜心修煉總結篇3——Mat 物件的使用

OpenCV靜心修煉總結篇3——Mat 物件的使用

 按照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);