C++中的Vec3b以及at<Vec3b>方法

引言

遇到的C++方法,浅浅的记录一下。

一、

cv::Vec3b pixelColor = image.at<cv::Vec3b>(100, 200);

at<Vec3b> 是 OpenCV 中用于访问图像像素的一种方法,其中 Vec3b 表示图像的像素类型,它是一个长度为 3 的 uchar(无符号字符)数组,用于表示三通道的彩色图像。在 OpenCV 中,图像可以表示为一个 cv::Mat(矩阵)对象,通过使用 at 方法可以访问图像的像素值。使用 at<Vec3b> 可以获取彩色图像中特定位置的像素颜色值。

代码示例:

	#include <opencv2/opencv.hpp>
	int main() {
	    cv::Mat image = cv::imread("path/to/your/image.jpg"); // 读取彩色图像
	    // 获取图像某个像素点的颜色值
	    cv::Vec3b pixelColor = image.at<cv::Vec3b>(100, 200);
	    // 访问 B、G、R 三个通道的值
	    uchar blue = pixelColor[0]; // 蓝色通道
	    uchar green = pixelColor[1]; // 绿色通道
	    uchar red = pixelColor[2]; // 红色通道
	    return 0;
	}

在这个示例中,我们使用 at<Vec3b> 来获取图像在 (200, 100) 坐标处的像素值,并将其保存在 pixelColor 变量中。然后,我们可以通过数组下标来访问每个通道的颜色值(蓝色、绿色和红色)。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值