opencv学习之显示图像-imshow函数

上一篇opencv学习之读取图像-imread函数介绍完opencv读取图片函数imread,这次来介绍与它对应的图像显示函数imshow。

imshow函数

imshow函数功能

imshow的函数功能也非常简单,名称也可以看出来,image show的缩写。imshow负责的就是将图片显示在窗口中,通过设备屏幕展现出来。与imread一样,在matlab中也有一个相同功能的函数命名为imshow, 这也是opencv借鉴了matlab的命名,在早期opencv1.x的版本中,负责显示图像的功能的函数为cvShowImage。

imshow函数原型

以下分别为imshow函数的c++与python原型。

imshow函数c++原型

#include <opencv2/highgui.hpp>//所在头文件
void cv::imshow (   const String &  winname,
InputArray  mat 
)       

imshow函数python原型

Python:
None    =   cv.imshow(  winname, mat    )

函数的原型非常地简单,可以很容易理解

  • 没有返回值
  • 参数1, 显示的窗口名, 可以使用cv::namedWindow函数创建窗口,如不创建,imshow函数将自动创建。
  • 需要显示的图像

imshow函数使用示例

#include<iostream>

#include<opencv2/opencv.hpp>

using namespace cv;

using namespace std;

int main()

{

    //read the image

    Mat image = imread("./clock.jpg");

    if (image.data != NULL)

    {

        //show the image

        imshow("clock", image);

        // imshow之后必须有waitKey函数,否则显示窗内将一闪而过,不会驻留屏幕
        waitKey(0);

    }

    else

    {

        cout << "can&apos;t openc the file!" << endl;

        getchar();

    }

    return 0;

}

使用方法也非常简单,需要注意的一点就是,imshow之后必须有waitKey函数,否则显示窗内将一闪而过,不会驻留屏幕。

尾巴

imshow显示图片的窗口非常地简单,实际的开发中也不会有人使用imshow去做实际的开发,都是使用第三方的UI控件去显示图像,但不代表imshow没什么作用,在调试和试验的时候还是非常方便的。


本文由芒果浩明发布,转载需注明来源。
本文链接:https://mangoroom.cn/opencv/opencv-learning-imshow.html

上一篇:C OpenCV imread在Android中不起作用


下一篇:OpenCV常用基本处理函数(2)图像基本操作