OpenCV之簡單矩陣運算

2021-08-03 20:46:20 字數 1439 閱讀 8386

1.矩陣的點運算

add(), subtract(), multiply(), divide(), absdiff(), bitwise_and(), bitwise_or(), bitwise_xor(), max(),min(), compare()

對應:加,減,點乘,點除,點絕對差,點位運算—與,點位運算—或,點位運算—異或,點最大,點最小,點比較。

example. alpha compositing function:

void alphacompose(const mat& rgba1,const mat& rgba2, mat& rgba dest)

;mixchannels(&rgba1, 1, &a1, 1, mixch, 4);

mixchannels(&rgba2, 1, &a2, 1, mixch, 4);

subtract(scalar::all(255), a1, ra1);

bitwise_or(a1, scalar(0,0,0,255), a1);

bitwise_or(a2, scalar(0,0,0,255), a2);

multiply(a2, ra1, a2, 1./255);

multiply(a1, rgba1, a1, 1./255);

multiply(a2, rgba2, a2, 1./255);

add(a1, a2, rgba dest);

} 2.矩陣的統計運算

sum(), mean(), meanstddev(), norm(), countnonzero(),minmaxloc(),

對應:求和,求均值,求均方差,求範數,求非零元素個數,求最大最小元素及位置。

3.基本數**算

exp(), log(), pow(), sqrt(), carttopolar(),polartocart()

對應:矩陣元素的指數,對數,乘方,開方,計算二維向量的長度和/或者角度,計算極座標形式的二維向量對應的直角座標.

4.代數運算和svd

scaleadd(), transpose(), gemm(), invert(), solve(),determinant(), trace(), eigen(), svd,

對應:計算乙個陣列縮放後與另乙個陣列的和(dst(i)=src1(i)*scale + src2(i)),矩陣的轉置 dst(i,j)=src(j,i) ,矩陣乘法 dst = alpha*op(src1)*op(src2) + beta*op(src3)這裡 op(x) 是 x 或者 xt, 查詢矩陣的逆矩陣或偽逆矩陣,求解線性系統或者最小二乘法問題,返回浮點方陣的行列式,返回矩陣的跡,計算對稱矩陣的特徵值和特徵向量,對實數浮點矩陣進行奇異值分解。

5.離散傅利葉變換和離散余弦變換

dft(), idft(), dct(), idct(),

對應:離散傅利葉變換,離散傅利葉反變換,離散余弦變換,離散余弦反變換。

OpenCV中簡單矩陣運算

矩陣的點運算 add subtract multiply divide absdiff bitwise and bitwise or bitwise xor max min compare 對應 加,減,點乘,點除,點絕對差,點位運算 與,點位運算 或,點位運算 異或,點最大,點最小,點比較。2.矩...

OpenCV矩陣運算

矩陣處理 1 矩陣的記憶體分配與釋放 1 總體上 opencv 使用c語言來進行矩陣操作。不過實際上有很多c 語言的替代方案可以更高效地完成。在opencv中向量被當做是有乙個維數為1的n維矩陣.矩陣按行 行方式儲存,每行以4位元組 32位 對齊.2 為新矩陣分配記憶體 cvmat cvcreate...

Opencv 矩陣運算

效果等於src1 src2 void add inputarray src1,inputarray src2,outputarray dst,inputarray mask noarray int dtype 1 void subtract inputarray src1,inputarray sr...