在OpenCV中,minMaxLoc
和meanStdDev
是兩個(gè)用于統(tǒng)計(jì)圖像或數(shù)組中元素的基本特性的函數(shù)。這些統(tǒng)計(jì)函數(shù)對(duì)于圖像處理、特征提取和數(shù)據(jù)分析非常有用。
minMaxLoc
minMaxLoc函數(shù)用于查找數(shù)組或圖像中的最小值和最大值,并可選地返回這些值的位置。這在處理圖像時(shí)特別有用,比如在動(dòng)態(tài)調(diào)整對(duì)比度或進(jìn)行閾值操作之前確定圖像的亮度范圍。
void minMaxLoc(InputArray src, double* minVal, double* maxVal = 0, Point* minLoc = 0, Point* maxLoc = 0, InputArray mask = noArray());
- src:輸入數(shù)組,通常是一個(gè)單通道圖像。
- minVal,maxVal:指向double類型變量的指針,用于存儲(chǔ)數(shù)組中的最小值和最大值。
- minLoc,maxLoc:可選的指針,指向Point類型的變量,用于存儲(chǔ)最小值和最大值的位置。
- mask:可選的操作掩碼,用于指定要檢查哪些數(shù)組元素。
meanStdDev
meanStdDev函數(shù)計(jì)算數(shù)組或圖像的平均值和標(biāo)準(zhǔn)偏差。這對(duì)于分析圖像的亮度和對(duì)比度變化非常有用,可以幫助我們理解圖像的統(tǒng)計(jì)特性。文章來源:http://www.zghlxwxcb.cn/news/detail-834833.html
void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev, InputArray mask = noArray());
- src:輸入數(shù)組,可以是多通道的。
- mean:輸出參數(shù),存儲(chǔ)每個(gè)通道的平均值。
- stddev:輸出參數(shù),存儲(chǔ)每個(gè)通道的標(biāo)準(zhǔn)偏差。
- mask:可選的操作掩碼,用于指定要計(jì)算哪些數(shù)組元素的平均值和標(biāo)準(zhǔn)偏差。
例子
void QuickDemo::image_pixel_statistic_demo(Mat &image) {
double minv, maxv;
Point minLoc, maxLoc;
std::vector<Mat> mv;
split(image, mv);
for (int i = 0; i < mv.size(); i++) {
minMaxLoc(mv[i], &minv, &maxv, &minLoc, &maxLoc, Mat());
std::cout <<"No.channels:"<<i<< "min value:" << minv << "max value" << maxv << std::endl;
}
Mat mean, stddev;
meanStdDev(image, mean, stddev);
std::cout << "mean:" << mean <<std::endl << "stddev" << stddev << std::endl;
}
文章來源地址http://www.zghlxwxcb.cn/news/detail-834833.html
到了這里,關(guān)于OpenCV統(tǒng)計(jì)函數(shù)之minMaxLoc和meanStdDev的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!