在opencv4.6中mat.at 没有四个int参数的重载吗
时间: 2023-11-27 11:51:34 浏览: 141
在OpenCV 4.6中,Mat类的at()方法只有两个参数,分别是行和列的索引。如果您需要访问多通道矩阵中的像素值,可以使用以下方式:
```cpp
Mat image = imread("example.jpg", IMREAD_COLOR); // 读取一张彩色图像
Vec3b pixel = image.at<Vec3b>(100, 100); // 获取(100, 100)处的像素值
```
其中,Vec3b是一个长度为3的向量,表示三通道图像中的像素值。您可以使用[]运算符来访问每个通道的值,例如:
```cpp
uchar blue = pixel[0]; // 获取蓝色通道的值
uchar green = pixel[1]; // 获取绿色通道的值
uchar red = pixel[2]; // 获取红色通道的值
```
如果您需要修改像素值,可以使用以下方式:
```cpp
pixel[0] = 255; // 将蓝色通道的值设置为255
image.at<Vec3b>(100, 100) = pixel; // 将修改后的像素值写回原图像
```
希望这些信息能够对您有所帮助。
阅读全文