序
上一篇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't openc the file!" << endl;
getchar();
}
return 0;
}
使用方法也非常簡單,需要注意的一點就是,imshow之后必須有waitKey函數,否則顯示窗內將一閃而過,不會駐留屏幕。
尾巴
imshow顯示圖片的窗口非常地簡單,實際的開發中也不會有人使用imshow去做實際的開發,都是使用第三方的UI控件去顯示圖像,但不代表imshow沒什么作用,在調試和試驗的時候還是非常方便的。
本文由芒果浩明發布,轉載需注明來源。
本文鏈接:https://mangoroom.cn/opencv/opencv-learning-imshow.html