1.線性混合操作
beta=(這是因為 addweighted 進行如下計算1.0-
alpha
);addweighted
(src1
,alpha
,src2
,beta
,0.0
,dst
);
這裡2.掩碼操作
濾波器在影象處理中的應用太廣泛了,因此opencv也有個用到了濾波器掩碼(某些場合也稱作核)的函式。不過想使用這個函式,你必須先定義乙個表示掩碼的 mat 物件:
mat然後呼叫 filter2d 函式,引數包括輸入、輸出影象以及用到的核:kern=(
mat_
<
char
>(3
,3)<<0,
-1,0
,-1,
5,-1
,0,-
1,0);
filter2d(i3.,k,i
.depth
(),kern
);
note
我們可以不用for迴圈來訪問每個畫素,而是直接採用下面這個命令:
image這裡的 convertto 將執行我們想做的 new_image = a*image + beta 。然而,我們想展現訪問每乙個畫素的過程,所以選用了for迴圈的方式。實際上,這兩種方式都能返回同樣的結果。.convertto
(new_image,-
1,alpha
,beta
);
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...