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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM