OpenCV常用读取像素方法及读取速度对比
法一 指针法(效率最高)
void main()
{
Mat src = imread("src.jpg", 0);
int row = src.rows, col = src.cols;
for (int i = 0; i < row; i++)
{
uchar* ptr = src.ptr<uchar>(i);
for (int j = 0; j < col; j++)
{
int pixel = (int)ptr[j];
cout << pixel << " ";
}
cout << endl;
}
}
法二
void main()
{
Mat src = imread("src.jpg", 0);
int row = src.rows, col = src.cols;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
int pixel = (int)src.ptr<uchar>(i, j);
cout << pixel << " ";
}
cout << endl;
}
}
法三
void main()
{
Mat src = imread("src.jpg", 0);
int row = src.rows, col = src.cols;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
int pixel = (int)src.at<uchar>(i,j);
cout << pixel << " ";
}
cout << endl;
}
}