【opecnv基礎】 001 影象的讀取與顯示
阿新 • • 發佈:2018-12-22
知識點
(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