1 输出图像的像素值的函数Picture_info如下:
void Picture_info(Mat image)
{
int number = 0;
const int channels = image.channels();
switch (channels)
{
case 1:
{
MatIterator_<uchar> it, end;
for (it = image.begin<uchar>(), end = image.end<uchar>(); it != end; ++it) {
cout << float(*it) << " ";
number++;
if (0 == number % (image.cols)) {
cout << endl;
}
}
cout << "***********************************" << endl;
break;
}
case 3:
{
MatIterator_<Vec3b> it, end;
for (it = image.begin<Vec3b>(), end = image.end<Vec3b>(); it != end; ++it) {
cout << float((*it)[0]) << " " << float((*it)[1]) << " " << float((*it)[2]) << " ";
number++;
if (0 == number % (image.cols)) {
cout << endl;
}
}
cout << "***********************************" << endl;
}
}
}
2 主函数如下:
首先将读取的图片转换为灰度图片。
然后,为了方便看结果,将图片Resize为5X5大小。
int main()
{
auto img = cv::imread(R"(E:\test.jpg)");
cv::cvtColor(img, img, CV_BGR2GRAY);
cv::resize(img, img, cv::Size(5, 5));
Picture_info(img);
return 0;
}
输出结果如下:
166 203 178 116 64
146 134 170 194 55
216 92 158 59 70
135 92 173 71 62
39 52 158 39 49
***********************************
请按任意键继续. . .