opencv:图像的读取和显示

本文介绍如何使用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();
}

显示图像为

opencv:图像的读取和显示

下面我们将对代码中读取图像和显示图像的函数进行讲解,

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:图像的读取和显示

到此图像的读取和显示介绍完了,如有问题欢迎留言讨论。

有对opencv、图像处理、计算机视觉领域感兴趣,或者需要入门的小伙伴欢迎关注本人公众号,可以微信搜索“图像处理CV讲武堂”关注,也可如下二维扫码关注。

opencv:图像的读取和显示