Opencv的準備階段小知識

2021-07-16 01:33:15 字數 1890 閱讀 7128

1.匈牙利命名法: 變數名=屬性+型別+物件;

2.argc和argv是unix,linux,macos中main函式的標準寫法。

3.在windows的控制台程式中,將main()函式作為程式入口點,並且很少使用argc和argv等引數;

4.printf函式標準的c語言函式,包含在 stadio.h當中,但是opencv中也包含它,只要包含了opencv.hpp就可以使用它;最後乙個字母f是format「」格式「」。

5.imread(const string&filename,flag)    //flag是0時載入灰度影象,flag>0時,是三通道的彩色影象,flag<0時是包含alpha通道的載入影象。彩色影象按照bgr儲存

6.imshow在顯示影象時,如果視窗是cv_window_autosize建立的,就顯示原始影象的大小,否則將進行縮放。縮放取決於影象的深度。

7.namewindow原型是  void  namewindow(const string& winname,int flags=window_autosize);預設不填是  window_autosize 視窗自動調整適應影象

8. imwrite是將儲存為檔案的函式,原型是:bool imwrite (const string&filename,inputarray img,cont vector params=vector() );

第乙個是需要儲存的檔名,第二個是mat型,第三個一般情況不填

9.遇到函式原型中的inputarray/outputarray型別,可以簡單把它們當成mat型

10.alpha通道是指乙個的透明和不透明度。其中黑表示透明,白表示不透明,灰表示半透明。

11.函式中params 其實就是乙個 vector型的引數,這個引數是不確定的,可以存乙個變數名,乙個值。push_back在vector類中作用為在vector尾部加入乙個資料。

12.try....catch...

catch(...)的作用

catch(…)能夠捕獲多種資料型別的異常物件,所以它提供給程式設計師一種對異常物件更好的控制手段,使開發的軟體系統有很好的可靠性。因此乙個比較有經驗的程式設計師通常會這樣組織編寫它的**模組,如下:

void func()

catch(datatype1& d1)

catch(datatype2& d2)

catch(datatype3& d3)

// 注意上面try block中可能丟擲的datatype1、datatype2和datatype3三

// 種型別的異常物件在前面都已經有對應的catch block來處理。但為什麼

// 還要在最後再定義乙個catch(…) block呢?這就是為了有更好的安全性和

// 可靠性,避免上面的try block丟擲了其它未考慮到的異常物件時導致的程

// 序出現意外崩潰的嚴重後果,而且這在用vc開發的系統上更特別有效,因

// 為catch(…)能捕獲系統出現的異常,而系統異常往往令程式設計師頭痛了,現

// 在系統一般都比較複雜,而且由很多人共同開發,一不小心就會導致乙個

// 指標變數指向了其它非法區域,結果意外災難不幸發生了。catch(…)為這種

// 潛在的隱患提供了一種有效的補救措施。

catch(…)

}

13.影象疊加函式

addweighted這裡第五個引數是double型別的gamma,乙個加到權重總和上的標量值

dst=第乙個引數*第二個引數+第三個引數*第四個引數+第五個引數

第六個引數要求與前兩個mat有相同的通道數和尺寸

第七個引數在兩個mat具有相同深度時,預設為-1,可以不填。

using namespace std;

using namespace cv;

int main ()

14.

關於opencv的小知識點總結

對於opencv2.4.3 使用vs2010建立工程,然後使用vs2017開啟,開啟後並不公升級程式,這樣依然使用的是vs2010的sdk,只不過是使用vs2017這個工具開發。直接使用vs2017 並配合opencv2.4.3時 會有很多問題,最好不要這樣操作。用上面讀取時發現 mat為空,使用絕...

Beta階段衝刺前的準備

凡事預則立,在beta開始前,以小組為單位,在敏捷衝刺前發布一篇部落格,描述 經過我們小組在周二下午的會議中有重新認真的考慮了是否要更換組長的問題 我們也提出了看法和建議 首先經過前半段的共同努力 我們一致表示我們組的組長秦玉是狀態非常好的 無論是從全域性的掌握還是具體事件上的安排 她都完成的非常好...

c 和opencv小知識 ORB特徵點匹配小流程

include include include using namespace cv using namespace std intmain if dist max dist cout min dist t max dist 但有時候最小距離會非常小,需要設定乙個經驗值作為下限 vector goo...