OpenCV 對陣列(矩陣)的一些操作

2021-06-18 14:54:09 字數 2924 閱讀 1068

opencv - operations on arrays 

對陣列(矩陣)的一些操作

function (函式名)

use (函式用處)

add

矩陣加法,a+b的更高階形式,支援mask

scaleadd

矩陣加法,乙個帶有縮放因子dst(i) = scale * src1(i) + src2(i)

addweighted

矩陣加法,兩個帶有縮放因子dst(i) = saturate(src1(i) * alpha + src2(i) * beta + gamma)

subtract

矩陣減法,a-b的更高階形式,支援mask

multiply

矩陣逐元素乘法,同mat::mul()函式,與a*b區別,支援mask

gemm

乙個廣義的矩陣乘法操作

divide

矩陣逐元素除法,與a/b區別,支援mask

abs對每個元素求絕對值

absdiff

兩個矩陣的差的絕對值

exp求每個矩陣元素 src(i) 的自然數 e 的 src(i) 次冪 dst[i] = e

src(i)

pow求每個矩陣元素 src(i) 的 p 次冪 dst[i] = src(i)p

log

求每個矩陣元素的自然數底 dst[i] = log|src(i)| (if src != 0)

sqrt

求每個矩陣元素的平方根

min, max

求每個元素的最小值或最大值返回這個矩陣 dst(i) = min(src1(i), src2(i)), max同

minmaxloc

定位矩陣中最小值、最大值的位置

compare

返回逐個元素比較結果的矩陣

bitwise_and, bitwise_not, bitwise_or, bitwise_xor

每個元素進行位運算,分別是和、非、或、異或

cvarrtomat

舊版資料cvmat,iplimage,cvma***轉換到新版資料mat

extractimagecoi

從舊版資料中提取指定的通道矩陣給新版資料mat

randu

以uniform分布產生隨機數填充矩陣,同 rng::fill(mat, rng::uniform)

randn

以normal分布產生隨機數填充矩陣,同 rng::fill(mat, rng::normal)

randshuffle

隨機打亂乙個一維向量的元素順序

therng()

返回乙個預設構造的rng類的物件 therng()::fill(...)

reduce

矩陣縮成向量

repeat

矩陣拷貝的時候指定按x/y方向重複

split

多通道矩陣分解成多個單通道矩陣

merge

多個單通道矩陣合成乙個多通道矩陣

mixchannels

矩陣間通道拷貝,如rgba到rgb和alpha

sort, sortidx

為矩陣的每行或每列元素排序

setidentity

設定單元矩陣

completesymm

矩陣上下三角拷貝

inrange

檢查元素的取值範圍是否在另兩個矩陣的元素取值之間,返回驗證矩陣

checkrange

檢查矩陣的每個元素的取值是否在最小值與最大值之間,返回驗證結果bool

sum求矩陣的元素和

mean

求均值meanstddev

均值和標準差

countnonzero

統計非零值個數

carttopolar, polartocart

笛卡爾座標與極座標之間的轉換

flip

矩陣翻轉

transpose

矩陣轉置,比較 mat::t() at

trace

矩陣的跡

determinant

行列式 |a|, det(a)

eigen

矩陣的特徵值和特徵向量

invert

矩陣的逆或者偽逆,比較 mat::inv()

magnitude

向量長度計算 dst(i) = sqrt(x(i)

2+ y(i)2)

mahalanobis

mahalanobis距離計算

phase

相位計算,即兩個向量之間的夾角

norm

求範數,1-範數、2-範數、無窮範數

normalize

標準化multransposed

矩陣和它自己的轉置相乘 a

t* a, dst = scale(src - delta)

t(src - delta)

convertscaleabs

先縮放元素再取絕對值,最後轉換格式為8bit型

calccovarmatrix

計算協方差陣

solve

求解1個或多個線性系統或者求解最小平方問題(least-squares problem)

solvecubic

求解三次方程的根

solvepoly

求解多項式的實根和重根

dct, idct

正、逆離散余弦變換,idct同dct(src, dst, flags | dct_inverse)

dft, idft

正、逆離散傅利葉變換, idft同dft(src, dst, flags | dtf_inverse)

lut查表變換

getoptimaldftsize

返回乙個優化過的dft大小

mulspecturms

兩個傅利葉頻譜間逐元素的乘法

對陣列首位址的一些理解

首先來看這樣的一些 得到的的結果是很奇怪,cout a 我一直的理解是a其實是個變數,他的值是指向陣列int a 4 的指標,現在我發現這樣的理解是錯誤的,趕緊google了一下,才發現原來a其實是很多層含義的 首先a不應該看成是變數,確切的他應該是乙個指標常量,其次a與 a是兩個不同的含義,看以下...

OpenCV中對陣列 矩陣 的操作的函式表

opencv operations on arrays 對陣列 矩陣 的一些操作 add矩陣加法,a b的更高階形式,支援mask scaleadd 矩陣加法,乙個帶有縮放因子dst i scale src1 i src2 i addweighted 矩陣加法,兩個帶有縮放因子dst i satur...

OpenCV中對陣列 矩陣 的操作的函式表

add 矩陣加法,a b的更高階形式,支援mask scaleadd 矩陣加法,乙個帶有縮放因子dst i scale src1 i src2 i addweighted 矩陣加法,兩個帶有縮放因子dst i saturate src1 i alpha src2 i beta gamma subtr...