1.countNonZero()
用來統(tǒng)計(jì)元素值為非0值的像素點(diǎn)個(gè)數(shù)。
cv2.countNonZero(src) -> retval
src:輸入圖像,必須為單通道圖像;
retval:非零像素值個(gè)數(shù)absdiff()
計(jì)算了2幅圖像差異后得到的新圖像
零值元素?cái)?shù)量可以由元素總數(shù)減去非零值數(shù)量得到
2.minMaxLoc()
函數(shù)返回圖像中的元素值的最小值和最大值,以及最小值和最大值的坐標(biāo)。
cv2.minMaxLoc(src[, mask])->minVal, maxVal, minLoc, maxLoc
src:輸入圖像,必須為單通道圖像;
mask:掩碼;
minVal, maxVal, minLoc, maxLoc:依次為最小值,最大值,最小值的坐標(biāo),最大值的坐標(biāo);
返回minLoc和maxLoc的坐標(biāo)位置是以O(shè)penCV中(x,y)的形式組織的,但是在numpy中下標(biāo)訪問是按照array[行][列]形式,類似于array[y][x]的形式,所以minLoc和maxLoc的坐標(biāo)值不能直接用于numpy的下標(biāo)訪問,需要對(duì)調(diào)后才可以使用.
3.sumElems()
統(tǒng)計(jì)所有元素值之和,如果有多通道,分通道計(jì)算,返回的是一個(gè)四元組,依次對(duì)應(yīng)圖像可能包含的第0,1,2,3通道,如果單通道圖像則只有下標(biāo)0對(duì)應(yīng)的元素有意義,如果是3通道則只有前3個(gè)元素有意義。
cv2.sumElems(src) -> retval
src:輸入圖像,可以是單通道,3通道或4通道圖像;
retval:返回的是一個(gè)4元組,分別對(duì)應(yīng)各通道元素的和。
4.mean()
用來統(tǒng)計(jì)單個(gè)通道內(nèi)像素值的平均值,如果有多個(gè)通道,分通道計(jì)算。
cv2.mean(src[, mask]) ->retval
src:輸入圖像,可以是單通道,3通道或4通道圖像;
mask:可選的掩碼;
retval:返回的是一個(gè)4元組,分別對(duì)應(yīng)各通道元素的平均值。
5.meanStdDev()
用來統(tǒng)計(jì)單通道內(nèi)像素值的平均值和標(biāo)準(zhǔn)差,一次調(diào)用返回2個(gè)結(jié)果。
cv2.meanStdDev(src[, mean[, stddev[, mask]]]) ->mean, stddev
src:輸入圖像,必須為單通道圖像;
mask:可選的掩碼;
mean:平均值;
stddev:標(biāo)準(zhǔn)差;
meanStdDev()返回的是一個(gè)元組,下標(biāo)0為平均值mean,下標(biāo)1為標(biāo)準(zhǔn)差stddev。
6.reduce()
用來統(tǒng)計(jì)二維數(shù)組的每一行或每一列中的最小值、最大值、平均值、和。這里reduce的含義也可以理解為將二維矩陣壓縮成一維向量,壓縮后的值根據(jù)入?yún)㈩愋涂梢允亲钚≈怠⒆畲笾?、平均值或者和?/p>
cv2.reduce(src, dim, rtype[, dst[, dtype]]) ->dst
src:源圖像,可以是單通道也可以是多通道,多通道時(shí)分通道計(jì)算;
dim:如果為0表示統(tǒng)計(jì)每列的數(shù)據(jù)等價(jià)于壓縮成行(row),如果為1表示統(tǒng)計(jì)每行的數(shù)據(jù)等價(jià)于壓縮成列(column);
rtype:reduce操作的類型;
dst:目標(biāo)圖像;
dtype:目標(biāo)圖像的類型,如果不指定默認(rèn)為-1表示用源圖像src的數(shù)據(jù)類型;
dim參數(shù)的理解:如果為0表示生成新的數(shù)據(jù)將是一個(gè)行向量,所以是在每一列上操作,將單個(gè)的列壓縮成一個(gè)數(shù)值從而組成一個(gè)行向量;如果為1則表示生成新的數(shù)據(jù)是一個(gè)列向量,在每一行上操作,將單個(gè)的行壓縮成一個(gè)數(shù)值從而組成一個(gè)列向量。文章來源:http://www.zghlxwxcb.cn/news/detail-659850.html
rtype標(biāo)志 含義
REDUCE_SUM 所有行或列的和
REDUCE_AVG 所有行或列的平均值
REDUCE_MAX 所有行或列的最大值
REDUCE_MIN 所有行或列的最小值
countNonZero()用來統(tǒng)計(jì)的是非零元素的數(shù)量;minMaxLoc()返回位置參數(shù)是按照OpenCV格式組織的,在numpy數(shù)組中使用時(shí)需要對(duì)調(diào)下標(biāo)組織形式,返回的坐標(biāo)是按行掃描方式得到的最開始的坐標(biāo);sumElems()用來計(jì)算單個(gè)通道內(nèi)所有元素的和,其原生的C接口函數(shù)為sum();meanStdDev()返回的平均值和標(biāo)準(zhǔn)差是一個(gè)numpy數(shù)組,其數(shù)組長度依賴輸入圖像的通道數(shù),這點(diǎn)和mean()、sumElems()計(jì)算的結(jié)果默認(rèn)包含4個(gè)元素有所區(qū)別;reduce()計(jì)算單行/列的和、均值時(shí)dtype類型需要指定為能精確表示的數(shù)據(jù)類型。文章來源地址http://www.zghlxwxcb.cn/news/detail-659850.html
到了這里,關(guān)于opencv 統(tǒng)計(jì)函數(shù)countNonZero() minMaxloc() sumElems() mean() meanStdDev() reduce()的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!