OpenCV: cv::Mat图像像素值访问及其坐标系问题

  1. 创建存储三通道图像的矩阵:

    Mat img(Size(70,70),CV_8U3C,Scalar(0,0,0)
  2. 灰度图(8UC1)的(x,y)位置的像素值:
    Scalar intensity = img.at(x, y);
    intensity.val[0]中保存图像的灰度值(0-255),另外intensity.val[1],intensity.val[2]为0
  3. 获取3通道图像像素值:
    Vec3b intensity = img.at(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(i,j) = 0;
    	line(img,cvPoint(0,0),cvPoint(200,400),Scalar(255,0,0),2);
    	imshow("Lena",img);
    	cvWaitKey(0);

OpenCV: cv::Mat图像像素值访问及其坐标系问题_第1张图片

你可能感兴趣的:(存储,c,OpenCV)