本文介绍如何使用opencv读取和显示图像,如下是读取一帧彩色图像的代码:
#include <opencv2/opencv.hpp>
using namespace cv;
void main()
{
Mat image;
image = imread("C:\\Users\\mengh\\Desktop\\img.jpg");
imshow("show image", image);
waitKey();
}
显示图像为
下面我们将对代码中读取图像和显示图像的函数进行讲解,
1. 图像读取函数是imread(const String & filename, int flags = IMREAD_COLOR)
- filename 表示图像的路径名 代码中我们读取图像的路径为“C:\\Users\\mengh\\Desktop\\img.jpg”,根据自己读取图像的路径自行设置。
- flags 表示读取图像的格式,一般读取图像默认flags =1是RGB图像,即是彩色图像,如上述代码中,当flags =0时将以Gray格式读取图像
2. 图像显示函数是imshow(const String & winname, InputArray mat)
- winname 表示显示图像窗口的名字,
- mat为要显示的图像。
一般情况下imshow还可以和namedWindow搭配使用,namedWindow 可以设置显示图像窗口的格式
namedWindow(const String& winname, int flags=WINDOW_AUTOSIZE)
- flags 是显示窗口图像的名字,默认值为WINDOW_AUTOSIZE
- flags=WINDOW_NORMAL 用户可以改变窗口大小
- flags=WINDOW_AUTOSIZE 窗口自动调整适应图像大小
- flags=WINDOW_OPENGL 窗口创建的时候支持OpenGL
例如当显示一帧灰度图,namedWindow中flags=WINDOW_NORMAL时代码可写为
#include <opencv2/opencv.hpp>
using namespace cv;
void main()
{
Mat image;
image = imread("C:\\Users\\mengh\\Desktop\\img.jpg",0);
namedWindow("show image", WINDOW_NORMAL);
imshow("show image", image);
waitKey();
}
显示图像为
到此图像的读取和显示介绍完了,如有问题欢迎留言讨论。
有对opencv、图像处理、计算机视觉领域感兴趣,或者需要入门的小伙伴欢迎关注本人公众号,可以微信搜索“图像处理CV讲武堂”关注,也可如下二维扫码关注。