OpenCV學習筆記一 (2016 12 3)

2021-07-25 03:32:14 字數 3132 閱讀 5837

函式定義:mat imread(const string& filename, int flags=1 );

第乙個引數為影象的路徑,第二個引數flags為載入標識,指定乙個載入影象的顏色型別,預設為1,此時載入三通道的彩色影象。

flags取值:

cv_load_image_anydepth- 如果取這個標識的話,若載入的影象的深度為16位或者32位,就返回對應深度的影象,否則,就轉換為8位影象再返回。

cv_load_image_color- 如果取這個標識的話,總是轉換影象到彩色一體。

cv_load_image_grayscale- 如果取這個標識的話,始終將影象轉換成灰度1。

如果想要載入最真實的影象,選擇cv_load_image_anydepth 或者 cv_load_image_anycolor。

函式定義:void namedwindow(const string& winname,int flags=window_autosize );  

用於建立乙個視窗。

第乙個引數,const string&型的name,即填被用作視窗的識別符號的視窗名稱。

第二個引數,int 型別的flags ,視窗的標識,可以填如下的值:

window_normal設定了這個值,使用者便可以改變視窗的大小(沒有限制)

window_autosize如果設定了這個值,視窗大小會自動調整以適應所顯示的影象,並且不能手動改變視窗大小。

函式定義:void imshow(const string& winname, inputarray mat);

在指定的視窗(winname)中顯示一幅影象。

第乙個引數,const string&型別的winname,填需要顯示的視窗標識名稱。

第二個引數,inputarray 型別的mat,填需要顯示的影象。

//版本一 vs2013 opencv2.4.13

//cmd命令除錯:helloopencv.exe lena.jpg

#include#include#includeusing namespace cv;

using namespace std;

int main(int argc,char** argv)

//定義mat型別的影象變數image

mat image;

//讀取影象

//函式定義:mat imread(const string& filename, int flags=1 );

//flags為載入標識,指定乙個載入影象的顏色型別,預設為1。

image = imread(argv[1]);

//檢查影象輸入是否有效

if (!image.data)

//建立乙個視窗用於顯示影象

//函式定義void namedwindow(const string& winname,int flags=window_autosize );

namedwindow("display window",window_autosize);

//影象顯示

/*void imshow(const char *name, const cvarr *img)

*/ imshow("display window",image);

//waitkey有兩個作用:

//1. it waits for x milliseconds for a key press.if a key was pressed during that time, it returns the key's ascii code. otherwise, it returns -1.

handles any windowing events, such as creating windows with cv::namedwindow(), or showing images with cv::imshow().

waitkey(0);

return 0;

}

//版本二

//vs除錯

#include#include#includeusing namespace cv;

using namespace std;

int main(int argc, char** argv)

namedwindow("display window", window_autosize);

imshow("display window", image);

waitkey(0);

return 0;

}

本人初學opencv,c++程式設計亦很不熟練,**尚有不完善的地方,敬請指教!

函式定義:bool imwrite(const string& filename,inputarray img, const vector& params=vector() );  

第乙個引數,const string&型別的filename,填寫將影象寫入檔案的路徑及影象的名稱和字尾。

第二個引數,inputarray型別的img,一般填乙個mat型別的影象資料就行,即將要輸出到檔案中的影象資料。

第三個引數,const vector&型別的params,表示為特定格式儲存的引數編碼,它有預設值vector(),所以一般情況下不需要填寫。

#include"opencv2/opencv.hpp"

#includeusing namespace cv;

using namespace std;

int main(int argc, char** argv)

//canny提取邊緣,並將結果儲存與result

opencv學習筆記(一)

對話方塊介面上直接顯示影象 含opencv內容 第一部分 建立顯示影象區域 1 建立對話方塊工程mymfc 2 在第三步中選擇 as a statically linked library 3 設定opencv環境變數 4 在mymfc.h檔案中新增如下 include cv.h include h...

Opencv學習筆記 一

一 opencv的命名空間 opencv中的c 類和函式都是定義在命名空間cv中的,有兩種方法訪問 在 開頭加上以下這句 using namespace cv 開頭一般可寫成 include includeusing namespace cv using namespace std 二 mat類的使...

OpenCV學習筆記(一)

opencv是乙個開源的計算機視覺庫,設計目標是執行速度進,盡量快,主要關注實時應用。構建乙個簡單易用的計算機視覺框架,以幫助開發人員更見便捷地設計複雜的計算視覺相關應用程式。opencv當初的三大目標 為基本的視覺應用提供開放且優化的源 以促進視覺研究的發展。能有效地避免 閉門造車 通過提供乙個通...