- 學習OpenCV 4:基于Python的算法實戰
- 肖鈴
- 549字
- 2022-05-05 19:40:16
3.3.4 案例19:比較運算
OpenCV提供了矩陣比較運算函數,如兩個矩陣的比較(compare),求最大值(max)、最小值(min),排序(sort),其定義如下:

參數說明如下。
● src1:輸入矩陣1。
● src2:輸入矩陣2。
● cmpop:比較方式。
● dst:輸出結果(返回值)。

參數說明如下。
● src1:輸入矩陣1。
● src2:輸入矩陣2。
● dst:輸出矩陣(返回值)。

參數說明如下。
● src:輸入矩陣。
● mask:掩模。
● minVal:輸出的最小值(返回值)。
● maxVal:輸出的最大值(返回值)。
● minLoc:輸出的最小值位置(返回值)。
● maxLoc:輸出的最大值位置(返回值)。

參數說明如下。
● src:輸入矩陣。
● flags:排序方式,由SortFlags定義(見3.1節)。
● dst:輸出排序結果。
比較兩個矩陣的案例代碼如下:

比較運算的結果如下:

compare函數執行兩個矩陣的逐元素比較操作,根據CmpTypes定義的比較方式,如果比較結果為true,則輸出矩陣中該位置的值為255;否則為0。compare函數中的前兩個參數為輸入矩陣src1、src2;第三個參數為cmpop,該值由CmpTypes定義,表示比較方式,其取值如下:

求兩個矩陣中的最大值和最小值的案例代碼如下:


結果輸出如下:

OpenCV提供了獲取矩陣中最小值和最大值及其位置的函數minMaxLoc,使用的案例代碼如下:

輸出結果如下:

minMaxLoc函數調用后的返回值為tuple類型,其中第一個值為最小值,第二個值為最大值,第三個值為最小值的坐標,第四個值為最大值的坐標。
排序案例代碼如下:

升序排序結果如下:

推薦閱讀
- Python量化投資指南:基礎、數據與實戰
- 算法訓練營:入門篇(全彩版)
- Programming ArcGIS 10.1 with Python Cookbook
- 深入理解Java7:核心技術與最佳實踐
- Learning Three.js:The JavaScript 3D Library for WebGL
- C語言程序設計教程
- Julia高性能科學計算(第2版)
- Mastering Business Intelligence with MicroStrategy
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- IBM Cognos Business Intelligence 10.1 Dashboarding cookbook
- SQL Server 入門很輕松(微課超值版)
- Python青少年趣味編程
- Learning Ionic
- jQuery技術內幕:深入解析jQuery架構設計與實現原理
- JavaScript悟道