1. 程式人生 > >【opecnv基礎】 001 影象的讀取與顯示

【opecnv基礎】 001 影象的讀取與顯示

知識點

(1)讀取指定路徑下的影象

(2)顯示讀取的影象


相關API(C++版本)

(1)影象載入:imread()

Mat imread (const string& filename, intflags=1)

第一個引數:const string&型別的filename(檔名),填入圖片的路徑名。Win下,支援的檔案型別有.bmp,.dib,.jpg,.png等;

第二個引數,int型別的flags,為載入標識,指定一個載入影象的顏色型別。

對識別符號相應的解釋

識別符號 等價取值 意義
CV_LOAD_IMAGE_COLOR 1 轉換到彩色影象在返回,預設為1
CV_LOAD_IMAGE_GRAYSCALE 0 將影象轉為灰度影象再返回
CV_LOAD_IMAGE_ANYDEPTH 2 等價取值為2,如果影象的深度為16位或者32位,就返回相應的影象深度,否則,就轉換為8位再返回

(2)顯示影象:imshow()

void imshow (const string& winname, InputArray mat);

第一個引數,const string&型別的winname,填寫需要顯示的視窗的識別符號;

第二個引數,InputArray型別的mat,需要顯示的影象;


C++示例程式

#include<opencv2\opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main()
{
	Mat src = imread("D:/opencv3.1.0/images/Messi.jpg");//讀取影象
	if (src.empty()) //如果src為空
	{
		cout << "image loading error" << endl;
		return -1;
	}
	imshow("input image", src);//輸出影象

	waitKey(0);//表示阻塞等待使用者鍵盤輸入,使用者按鍵盤任意鍵就會停止阻塞,繼續執行
	return 0;
}

執行結果:


python示例程式

import cv2 as cv

src = cv.imread("D:/opencv3.1.0/images/Messi.jpg") #讀取影象  
cv.imshow("input image",src) #顯示影象

cv.waitKey(0)
cv.destroyAllWindows()#避免跨語言導致的記憶體洩漏

執行結果:


★finished by songpl, 2018.12.2