opencv获取像素点坐标
时间: 2023-08-12 21:34:48 浏览: 197
利用opencv实现鼠标指针停留获取像素坐标和像素值,也可以实现仿射变换
5星 · 资源好评率100%
要获取像素点的坐标,可以使用OpenCV中的Mat类和at()函数。
首先,创建一个Mat对象来存储图像,然后使用at()函数来访问像素值。at()函数需要两个参数,分别是行和列的坐标。假设我们要获取图像中第100行第200列的像素点坐标,代码如下:
```cpp
cv::Mat img = cv::imread("image.jpg");
int row = 100;
int col = 200;
cv::Vec3b pixel = img.at<cv::Vec3b>(row, col);
```
这里使用了cv::Vec3b类型来表示3通道的像素值。如果是单通道图像,可以使用uchar类型。注意,像素点坐标是从0开始的。
如果想获取整个图像的像素坐标,可以使用两个for循环来遍历所有像素点,代码如下:
```cpp
for(int i=0; i<img.rows; i++) {
for(int j=0; j<img.cols; j++) {
cv::Vec3b pixel = img.at<cv::Vec3b>(i, j);
// do something with pixel
}
}
```
这里的img.rows和img.cols分别表示图像的行数和列数。
阅读全文