一些超級基礎 常用的opencv功能

2021-07-15 14:48:40 字數 867 閱讀 2089

用慣了matlab,跑來用opencv真是各種不習慣。所以記錄一下一些常用的功能**,作為積累。以下所有**均基於opencv 3.0。

----------------2016.7.26--------------

將彩色影象轉為灰度圖

mat picture;

cvtcolor(picture, picture, color_bgr2gray);

----------------2016.8.20--------------

1. 座標體系中的零點座標為的左上角,x軸為影象矩形的上面那條水平線;y軸為影象矩形左邊的那條垂直線。該座標體系在諸如結構體mat,rect,point中都是適用的。(opencv中有些資料結構的座標原點是在的左下角,可以設定的)。

2. 在使用image.at(x1, x2)來訪問影象中點的值的時候,x1並不是中對應點的x軸座標,而是中對應點的y座標。因此其訪問的結果其實是訪問image影象中的point(x2, x1)點,即與image.at(point(x2, x1))效果相同。

3. 如果所畫圖像是多通道的,比如說image影象的通道數時n,則使用mat::at(x, y)時,其x的範圍依舊是0到image的height,而y的取值範圍則是0到image的width乘以n,因為這個時候是有n個通道,所以每個畫素需要占有n列。但是如果在同樣的情況下,使用mat::at(point)來訪問的話,則這時候可以不用考慮通道的個數,因為你要賦值給獲取mat::at(point)的值時,都不是乙個數字,而是乙個對應的n維向量。

4. 多通道影象在使用minmaxloc()函式是不能給出其最大最小值座標的,因為每個畫素點其實有多個座標,所以是不會給出的。因此在程式設計時,這2個位置應該給null。

有關OpenCV的一些基礎問題

opencv是intel公司推出的優秀的視覺庫,它提供了許多與視覺計算相關的函式,極大的方便了開發人員。但是,由於它和我們常用的微軟體系的軟體有所不同,還是讓我困惑了許久,現在我就把不同之處整理出來,希望對大家有所幫助。1 opencv在用cvloadimage時,自動將帶有調色盤的影象在記憶體內轉...

opencv的一些函式

計算物體的畫素或面積常需要用到計算矩陣中的非零元素個數,opencv中使用countnonzero 函式實現。bitwise and是對二進位制資料進行 與 操作,即對影象 灰度影象或彩色影象均可 每個畫素值進行二進位制 與 操作,1 1 1,1 0 0,0 1 0,0 0 0 bitwise or...

OpenCV一些函式

1.線性混合操作 beta 1.0 alpha addweighted src1 alpha src2 beta 0.0 dst 這是因為 addweighted 進行如下計算 這裡2.掩碼操作 濾波器在影象處理中的應用太廣泛了,因此opencv也有個用到了濾波器掩碼 某些場合也稱作核 的函式。不過...