
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
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类型,其中第一个值为最小值,第二个值为最大值,第三个值为最小值的坐标,第四个值为最大值的坐标。
排序案例代码如下:

升序排序结果如下:
