日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Opencv -- 13像素值统计及平均值和方差的意义

發(fā)布時(shí)間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Opencv -- 13像素值统计及平均值和方差的意义 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#include <iostream> #include "13_opencv_mat.h"using namespace std;void QuickDemo::pixel_statistic_demo(Mat &image) {/** 函數(shù)minMaxLoc用來(lái)查找最小和最大元素值及其位置。* 在整個(gè)圖像(數(shù)組)中搜索極值,如果mask不是空數(shù)組,則在指定的數(shù)組區(qū)域中搜索極值。* * void minMaxLoc(InputArray src, double* minVal, double* maxVal=0, * Point* minLoc=0, Point* maxLoc=0, InputArray mask=noArray())* * 參數(shù):* src - 單通道圖像* minVal - 指向返回最小值的指針。如果不需要寫(xiě)NULL 或 缺省* maxVal - 指向返回最大值的指針。如果不需要寫(xiě)NULL 或 缺省* minLoc - 指向返回的最小位置的指針(在2D情況下)。如果不需要寫(xiě)NULL 或 缺省* maxLoc - 指向返回的最大位置的指針(在2D情況下)。如果不需要寫(xiě)NULL 或 缺省* mask - 可選掩碼,用于選擇子數(shù)組,如果不需要就缺省。* * 需要特別注意的是:* 這個(gè)函數(shù)不能用于多通道圖像(數(shù)組)。如果需要在所有通道中找到最小或最大元素(像素值),* 請(qǐng)先首先使用Mat::reshape()將圖像(數(shù)組)轉(zhuǎn)換為單通道。* 或者你可以使用extractImageCOI()、mixChannels()或split()來(lái)提取特定的通道。*/std::vector<Mat> mv;/** 函數(shù)原型:void split(const Mat& mtx, vector<Mat>& mv)* 函數(shù)功能:將一個(gè)多通道陣列劃分為幾個(gè)單通道陣列。*/split(image, mv);imshow("藍(lán)色", mv[0]);imshow("綠色", mv[1]);imshow("紅色", mv[2]);double minVal, maxVal;//定義兩個(gè)變量分別用來(lái)記錄最大像素值和最小像素值Point minLoc, maxLoc;//記錄最大像素值和最小像素值的位置//查找圖像中的最小值和最大值。for (int i = 0; i < 3; i++){minMaxLoc(mv[i], &minVal, &maxVal, &minLoc, &maxLoc, noArray());std::cout << "minVal = " << minVal << ",maxVal = " << maxVal << std::endl;std::cout << "minLoc = " << minLoc << ",maxLoc = " << maxLoc << std::endl;}/** 函數(shù)原型:void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev, InputArray mask=noArray()) ** 函數(shù)功能:計(jì)算數(shù)組元素的平均值和標(biāo)準(zhǔn)偏差。* 參數(shù):* src - 源圖像(數(shù)組)應(yīng)該有1到4個(gè)通道,以便結(jié)果可以存儲(chǔ)在Scalar類(lèi)型的數(shù)組中。* mean - 輸出參數(shù):計(jì)算平均值。* stddev - 輸出參數(shù):計(jì)算標(biāo)準(zhǔn)偏差。* mask - 可選掩碼,用于選擇子數(shù)組,如果不需要就缺省。* * 函數(shù)meanStdDev獨(dú)立計(jì)算每個(gè)通道的數(shù)組元素的均值和標(biāo)準(zhǔn)差,并通過(guò)輸出參數(shù)返回:*/Mat mean, stddev;meanStdDev(image, mean, stddev);std::cout << "mean = " << mean << std::endl;std::cout << "stddev = " << stddev << std::endl; }

程序運(yùn)行結(jié)果如下:

方差和均值代表的意義及其應(yīng)用

均值

我們來(lái)看不同亮度的同一張圖像。

可見(jiàn),均值可以反應(yīng)圖片的明亮暗程度。

方差

根據(jù)計(jì)算出來(lái)的均值和方差,可以對(duì)圖像所攜帶的信息做出一些判斷。
比如方差,方差就是數(shù)據(jù)的分散程度(偏離均值)。圖像中有個(gè)人和有輛車(chē),那么他們的灰度值是不同的(顏色不同),你把全圖像的灰度值取平均,偏離平均值越大,方差越大。方差越大,說(shuō)明信息越多,能量越大。

比如下面這張圖,方差為0,說(shuō)明該圖片的像素點(diǎn)沒(méi)有變化,是張純色圖片。純色的圖片的每個(gè)通道的像素值都等于它每個(gè)通道的均值。再根據(jù)均值可以判斷出該圖片是什么顏色的。

總結(jié)

以上是生活随笔為你收集整理的Opencv -- 13像素值统计及平均值和方差的意义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。