OpenCV一些函式

2021-07-05 10:08:10 字數 854 閱讀 3161

1.線性混合操作

beta=(

1.0-

alpha

);addweighted

(src1

,alpha

,src2

,beta

,0.0

,dst

);

這是因為 addweighted 進行如下計算

這裡2.掩碼操作

濾波器在影象處理中的應用太廣泛了,因此opencv也有個用到了濾波器掩碼(某些場合也稱作核)的函式。不過想使用這個函式,你必須先定義乙個表示掩碼的 mat 物件:

mat

kern=(

mat_

<

char

>(3

,3)<<0,

-1,0

,-1,

5,-1

,0,-

1,0);

然後呼叫 filter2d 函式,引數包括輸入、輸出影象以及用到的核:

filter2d(i

,k,i

.depth

(),kern

);

3.

note

我們可以不用for迴圈來訪問每個畫素,而是直接採用下面這個命令:

image

.convertto

(new_image,-

1,alpha

,beta

);

這裡的 convertto 將執行我們想做的 new_image = a*image + beta 。然而,我們想展現訪問每乙個畫素的過程,所以選用了for迴圈的方式。實際上,這兩種方式都能返回同樣的結果。

opencv的一些函式

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

openCV中的一些函式

把scr的元素與常量value相加放到dst裡。如果mask沒有被設為null,那麼mask中非零元素指定的dst元素值在函式執行後不變。void cvadds const cvarr scr,cvscalar value,cvarr dst,const cvarr mask null 這個 cvs...

opencv中一些功能函式

int floodfill inputoutputarray image,point seedpoint,scalar newval,rect rc 0,scalar lodiff scalar scalar updiff scalar int flags 4 int floodfill input...