【OpenCV3】cv::Mat中最值和均值的求解
我們知道cv::Mat是OpenCV2和OpenCV3中最基本的數(shù)據(jù)結(jié)構(gòu),不僅可以作為圖像數(shù)據(jù)的容器,也可以作為其他類型數(shù)據(jù)的容器。那么,我們?cè)谑褂胏v::Mat進(jìn)行數(shù)據(jù)的處理時(shí),會(huì)經(jīng)常面臨求解其最值和均值的問(wèn)題。下面就介紹一下如何求解cv::Mat中的最值和均值。
1、cv::Mat中最值的求解
當(dāng)然,我們可以自己遍歷cv::Mat中的所有數(shù)值,逐個(gè)比較,然后獲得其最值。但是,這么做費(fèi)時(shí)又費(fèi)力,也沒(méi)有必要。因?yàn)镺penCV中已經(jīng)封裝了一個(gè)求cv::Mat最值的接口,即cv::minMaxLoc,該函數(shù)不僅可以同時(shí)獲取到cv::Mat中的最大和最小值,而且還可以獲得最大最小值所在的位置。
具體使用方法如下:
cv::Mat Mat; //對(duì)Mat進(jìn)行賦值和其他操作 double max, min; cv::Point min_loc, max_loc; cv::minMaxLoc(Mat, &min, &max, &min_loc, &max_loc);2、cv::Mat中均值的求解
OpenCV中封裝了一個(gè)專門用于求解cv::Mat均值的函數(shù),即cv::mean(&cv::Mat),該函數(shù)會(huì)得到Mat中各個(gè)通道的均值,若要獲取指定通道的均值,做進(jìn)一步解析即可。
具體使用方法如下:
cv:Scalar tempVal = cv::mean( myMat ); float matMean = tempVal.val[0];
總結(jié)
以上是生活随笔為你收集整理的【OpenCV3】cv::Mat中最值和均值的求解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【python图像处理】彩色映射(续篇)
- 下一篇: 【算法+OpenCV】图像极坐标变换及基