cv::compare()主要用于两个图像之间进行逐像素的比较,并输出比较的结果。具体用法如下:

cv::compare()bool cv::compare(cv::InputArray src1, // 输入数组1cv::InputArray src2, // 输入数组2cv::OutputArray dst, // 输出数组int cmpop // 比较操作子,见下表
);

其中支持的比较操作有以下几种:

下面直接通过一段代码来看这个函数具体有什么妙用:


#include <opencv2/opencv.hpp>
#include <iostream>int main()
{cv::Mat img0 = cv::imread("img0.jpg", -1);cv::Mat img1 = cv::imread("img1.jpg", -1);if (img0.empty()){std::cout << "load img0 failed!\n" << std::endl;return -1;}if (img1.empty()){std::cout << "load img1 failed!\n" << std::endl;return -1;}cv::Mat img2;cv::compare(img0, img1, img2, cv::CMP_GT);cv::imshow("img0", img0);cv::imshow("img1", img1);cv::imshow("img2", img2);cv::waitKey(0);return 0;
}

结果如下:

输入1:

输入2:

输出:

由此可见,cv::compare可以用于静止背景下移动物体的检测等应用。

2018.08.12

【OpenCV3】cv::compare()使用详解相关推荐

  1. OpenCV 图像卷积:cv.filter2D() 函数详解

    API 照例,我们搬一下官网的 API: C++ void cv::filter2D(InputArray src,OutputArray dst,int ddepth,InputArray kern ...

  2. OpenCV 图像缩放:cv.resize() 函数详解

    目录 系列前言 API 函数详解 参数列表 缩放方式其一 缩放方式其二 两种方式的优先级 关于插值方式 扩展 -- 相关函数 系列前言 这个系列是我第一个想要更下去的系列.每篇会全面介绍一个 Open ...

  3. 【OpenCV3】cv::divide()使用详解

    cv::divide()是一个简单的除法函数,有以下两种用法: 用法1: void cv::divide(cv::InputArray src1, // 输入数组1 (分子)cv::InputArra ...

  4. 【OpenCV3】cv::convertScaleAbs()使用详解

    cv::convertScaleAbs()用于实现对整个图像数组中的每一个元素,进行如下操作: 该操作可实现图像增强等相关操作的快速运算,具体用法如下: void cv::convertScaleAb ...

  5. 【OpenCV3】平滑处理详解

    "平滑"通常又称"模糊",是一种简单常用的图像处理操作.进行平滑处理的原因有很多,但通常是用来去除噪声和相机失真,平滑在按照一定的原理来降低图像分辨率中也有重要 ...

  6. CV 面试问题详解宝典—目标检测篇

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨那年当上博士前 来源丨AI约读社 编辑丨极市平台 导读 面试知识点总结 序言 目标检测篇面试知识 ...

  7. Sklearn中的CV与KFold详解

    关于交叉验证,我在之前的文章中已经进行了简单的介绍,而现在我们则通过几个更加详尽的例子.详细的介绍 CV %matplotlib inline import numpy as np from skle ...

  8. opencv cv.findContours 函数详解

    函数 cv.findContours contours, hierarchy = cv.findContours( image, mode, method[, contours[, hierarchy ...

  9. python电化学cv曲线怎么画_Maya创建NURBS曲线:CV曲线工具详解

    1 首先,点击创建菜单->曲线工具->CV曲线工具,即可进入CV曲线工具模式. 2 一次点击鼠标,确定CV控制点. 默认是创建3次曲线,因此创建控制点多于4个才会出现曲线. 3 按下del ...

最新文章

  1. shell的各种运行模式?
  2. 安全日志的自动备份方法
  3. php--在类中声明常量的关键字
  4. java二叉树的运用
  5. 使用bootstrap-table等自动使用ajax地址载入数据的插件的数据设计建议
  6. .NET IdentityServer4实战-开篇介绍与规划
  7. matlab2c使用c++实现matlab函数系列教程-rank函数
  8. 修改VS2017密钥
  9. 凯利公式计算器安卓_华为MatePad Pro 5G评测:一屏双任务打破安卓平板生态限制...
  10. 小觅双目相机陀螺仪静态数据输出为0+timeshift ubuntu 系统备份
  11. 【接口测试基础】第五篇 | 接口用例设计详解
  12. 互联网广告的盈利模式
  13. 按照字符串长度大小进行升序排列
  14. 理财APP有哪些维度可向用户推荐理财产品
  15. 前端开发面试问题及答案
  16. 51单片机系列(三)51 单片机游戏设计 —— 双人对战小游戏(石头剪刀布)
  17. NJ4X源码阅读分析笔记系列(一)——项目整体分析 1
  18. scanf(),printf()以及fscanf(),fprintf()的返回值
  19. 【力扣】729. 我的日程安排表 I
  20. 台灯c语言,基于msp430单片机的智能台灯设计(C语言).doc

热门文章

  1. Shell-实际业务操作03
  2. 计算机联锁仿真软件设计,一种基于LabVIEW的计算机联锁仿真系统的制作方法
  3. python 搜索二维矩阵
  4. python 有效的字母异位词
  5. Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules
  6. url全局地址封装 vue_vue设置全局访问接口API地址操作
  7. linux 监控进程是否存在并重启进程、打印进程日志
  8. 服务器可以ping通,Write failed: Broken pipe
  9. tf.control_dependencies()函数用法
  10. 判断一个变量类型是数组还是对象