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

本文介绍了如何使用OpenCV库创建并操作图像矩阵,包括初始化三通道图像矩阵、获取灰度图像像素值及三通道图像各分量值的方法,并通过实例展示了如何对图像进行基本的绘制操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值