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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

OpenCV 找出图像中最小值最大值函数minMaxLoc的使用

發布時間:2023/12/19 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 OpenCV 找出图像中最小值最大值函数minMaxLoc的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

功能:從一個矩陣中找出全局的最大值和最小值。

函數cv::minMaxLoc找出最大和最小元素的值和他們的位置。極值是遍歷整個矩陣找到,或者當掩碼不是一個空矩陣時,是通過遍歷指定矩陣區域找到。

函數不適用于多通道矩陣,如果需要遍歷所有的通道來找到最大和最小值,首先使用函數Mat::reshape轉換為單通道矩陣。或者你可以使用函數 extractImageCOI ,mixChannels , or split 來提取特定通道。

函數原型1:

1 CV_EXPORTS_W void minMaxLoc(InputArray src, CV_OUT double* minVal,
2                             CV_OUT double* maxVal = 0, CV_OUT Point* minLoc = 0,
3                             CV_OUT Point* maxLoc = 0, InputArray mask = noArray());

參數說明:
參數1 src 輸入單通道矩陣.

參數1 minVal 返回最小值的指針; 如果不需要輸入NULL.

參數 maxVal 返回最大值的指針; 如果不需要輸入NULL.

參數 minLoc 返回最小值位置的指針 (二維情況下); 如果不需要輸入NULL.

參數 maxLoc 返回最大值位置的指針 (二維情況下); 如果不需要輸入NULL.

參數 mask 可選參數,用于選擇一個子矩陣.

參考 max, min, compare, inRange, extractImageCOI, mixChannels, split, Mat::reshape

函數原型2:

1 CV_EXPORTS void minMaxIdx(InputArray src, double* minVal, double* maxVal = 0,
2                           int* minIdx = 0, int* maxIdx = 0, InputArray mask = noArray());

參數說明:
參數1 src 輸入單通道矩陣.

參數1 minVal 返回最小值的指針; 如果不需要輸入NULL.

參數 maxVal 返回最大值的指針; 如果不需要輸入NULL.

參數 minIdx 返回最小值位置的指針 ((n維情況下); 如果不需要輸入NULL. 否則,它必須指向src.dims元素的一個矩陣, 每個維度里最小元素的坐標按順序存儲.

參數 maxIdx 返回最大值位置的指針 ((n維情況下); 如果不需要輸入NULL.

參數 mask 指定矩陣區域.

注意:
在稀疏矩陣中,最小值是只能在非零元素中找到。

當minIdx 不是NULL的時候,他必須有至少兩個元素(同maxIdx),即使src是一個單行或者單列矩陣。在OpenCV (跟隨MATLAB)中每個矩陣至少要有兩個維度。單列矩陣是Mx1 矩陣(因此 minIdx/maxIdx將是(i1,0)/(i2,0)),單行矩陣是 1xN矩陣(因此minIdx/maxIdx 將是(0,j1)/(0,j2))。

函數原型3:

1 CV_EXPORTS void minMaxLoc(const SparseMat& a, double* minVal,
2                           double* maxVal, int* minIdx = 0, int* maxIdx = 0);

參數說明:
參數1 a 輸入單通道矩陣.

參數2 minVal 返回最小值的指針; 如果不需要輸入NULL.

參數3 maxVal 返回最大值的指針; 如果不需要輸入NULL.

參數4 minIdx 返回最小值位置的指針 ((n維情況下); 如果不需要輸入NULL. 否則,它必須指向src.dims元素的一個矩陣, 每個維度里最小元素的坐標按順序存儲.

參數5 maxIdx 返回最大值位置的指針 ((n維情況下); 如果不需要輸入NULL.

代碼示例:

 1 #include <iostream>
 2 #include <opencv2/opencv.hpp>
 3 ?
 4 int main()
 5 {
 6     // std::cout << "Hello World!
";
 7     cv::Mat image = cv::imread("D:\OpenCVtest\images\juice.png");
 8     cv::Mat image_re = image.reshape(1);
 9     double minValue, maxValue;    // 最大值,最小值
10     cv::Point  minIdx, maxIdx;    // 最小值坐標,最大值坐標     
11     cv::minMaxLoc(image_re, &minValue, &maxValue, &minIdx, &maxIdx);
12     std::cout << "最大值:" << maxValue <<"最小值:"<<minValue<<std::endl;
13     std::cout << "最大值位置:" << maxIdx << "最小值位置:" << minIdx;
14    
15     cv::waitKey(0);
16 ?
17 }

運行結果如下

Mat類的函數reshape
功能:不用拷貝數據轉換一個2維矩陣的形狀或通道的個數

函數為這些元素制造了一個新的矩陣頭,新的矩陣可能會有不同的大小或不同的通道數,如果滿足下面條件任何組合都有可能:

沒有額外的元素被包含進去新矩陣,也沒有元素被排除。所以結果的行數、列數、通道數必須在轉換后保持不變。

沒有數據拷貝,也就是說這是個 O(1)操作。因此,如果你改變了行的個數,或者操作以其他方式改變了元素行的指數,矩陣必須是連續的,參考:Mat::isContinuous

例如:假如有一些3維的點的集合存儲在一個STL vector中,你想用一個3xN矩陣表示這些點,按下面這樣做:

1 td::vector<Point3f> vec;
2     ...
3     Mat pointMat = Mat(vec). // convrt vector to Mat, O(1) operation
4                  reshape(1). // make Nx3 1-channel matrix out of Nx1 3-channel.
5                                   // Also, an O(1) operation
6                   t(); // finally, transpose the Nx3 matrix.
7                               // This involves copying all the elements

函數原型1:

Mat reshape(int cn, int rows=0) const;

參數說明:

參數1 cn 新通道數.如果參數是0,通道數保持不變.

參數2 rows 新通道行數. 如果參數是0,行數保持不變.

函數原型2:

Mat reshape(int cn, int newndims, const int* newsz) const;

函數原型3:

Mat reshape(int cn, const std::vector<int>& newshape) const;

總結

以上是生活随笔為你收集整理的OpenCV 找出图像中最小值最大值函数minMaxLoc的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲爱情岛论坛永久 | 成人午夜影院 | 精品久久久久久久久久岛国gif | 亚洲视频456 | 999视频在线播放 | 日韩无码精品一区二区 | 国产成人无码精品 | 天堂аⅴ在线最新版在线 | caoprom超碰 | 无遮挡毛片 | 日本人做受免费视频 | 欧美1区| 亚洲欧洲av | 国产妇女视频 | 明日叶三叶 | 亚洲天堂一级 | 91av视频网 | av手机网| 在线日本中文字幕 | 午夜羞羞影院 | aaa大片十八岁禁止 中文字幕亚洲在线观看 | 欧美四区 | 亚欧在线视频 | 黄色日批 | 亚洲69av | 天堂av资源在线 | 人人免费操 | 日本视频免费观看 | 日本japanese极品少妇 | 天天舔天天干天天操 | 国产成人免费 | 国产精品99久久久久久久久 | 99综合| 亚洲91在线 | 黑人性视频 | 黄色片大全 | 尤物综合网 | 精品成人久久 | 色黄网站| 在线观看黄色国产 | 久久久精品久久久久 | 日韩在线观看视频一区二区 | 好吊在线视频 | 国产精品一区二区三 | 国产精品情侣自拍 | 久久久久久一区 | 国产又粗又猛又爽又黄的 | 成人网在线播放 | 永久免费汤不热视频 | 动漫一区二区三区 | 在线看黄免费 | 美女脱裤子打屁股 | a一级免费视频 | 色情毛片 | 激情视频区 | 国产伦精品一区二区三区 | 免费看h网站 | 日本不卡视频 | 精品中文字幕在线观看 | 高清乱码免费 | 久久99国产精品一区 | 久久中文视频 | 一区二区不卡视频在线观看 | 日韩高清一区 | 国产日韩欧美精品一区二区 | 日韩av一| 久久91亚洲精品中文字幕奶水 | 少妇熟女视频一区二区三区 | 天堂中文在线视频 | 精品久久五月天 | 一区二区精品在线观看 | 成人做爰视频www网站小优视频 | 日本三级欧美三级 | 国产淫片 | 天堂网av2014 | 国产精品欧美一区二区三区 | 香港三级在线视频 | av资源在线免费观看 | 99中文字幕 | 欧美一区二区三区小说 | 免费在线色视频 | 日韩 国产 一区 | 我要爱爱网| 看一级片 | 亚洲精品一区二区三区中文字幕 | 亚洲午夜小视频 | 国产三级三级在线观看 | 国产偷人妻精品一区二区在线 | 欧美日韩字幕 | 毛片看 | 强睡邻居人妻中文字幕 | 3d动漫啪啪精品一区二区中文字幕 | 国产一级在线视频 | 日本不卡1 | 久久夜色网 | 成人av高清在线观看 | 亚洲又粗又长 | 奇米99| 夜夜躁日日躁狠狠久久av |