OpenCV: cv::Mat圖像像素值訪問及其座標系問題

  1. 創建存儲三通道圖像的矩陣:

    Mat img(Size(70,70),CV_8U3C,Scalar(0,0,0)
  2. 灰度圖(8UC1)的(x,y)位置的像素值:
    Scalar intensity = img.at<uchar>(x, y);
    intensity.val[0]中保存圖像的灰度值(0-255),另外intensity.val[1],intensity.val[2]爲0
  3. 獲取3通道圖像像素值:
    Vec3b intensity = img.at<Vec3b>(x, y);
    uchar blue = intensity.val[0];
    uchar green = intensity.val[1];
    uchar red = intensity.val[2];
  4. 獲取cv::Mat的座標系以縱向爲x軸,橫向爲y軸。而cvPoint等則相反:
    Mat img = imread("F:\\lena.jpg");
    	for(int i = 0;i<100;i++)
    		for(int j = 100;j<200;j++)
    			img.at<Vec3b>(i,j) = 0;
    	line(img,cvPoint(0,0),cvPoint(200,400),Scalar(255,0,0),2);
    	imshow("Lena",img);
    	cvWaitKey(0);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章