C++版本的opencv,不像python那样可以直接【】访问,opencv的访问方式大概有几种,Mat.at<uchar>(col, row), 还有一种是通过指针,需要注意的是,如下面的代码:
void Utils::find(Mat &image, int num, vector<Point>& points)//工具class
{
float* pPixel;
for (int row = 0; row < image.rows; ++row)
{
pPixel = image.ptr<float>(row);
for (int col = 0; col < image.cols; ++col)
{
//cout << *pPixel << endl;;
if (*pPixel == num)
{
points.push_back(Point(col, row));
}
++pPixel;
}
}
}
需要注意的是指针的类型,ptr的类型等。