综述
cv::compare()主要用于两个图像之间进行逐像素的比较,并输出比较的结果。
可以用于静止背景下移动物体的检测等应用。
测试代码
#include "widget.h"
#include "ui_widget.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//载入图像
cv::Mat mat1 = imread("C:/opencv/111.jpg");
cv::Mat mat2 = imread("C:/opencv/222.jpg");
//输出图片
cv::Mat mat3;
//运算
cv::compare(mat1,mat2,mat3,CMP_NE);
namedWindow("显示器1", WINDOW_AUTOSIZE );
imshow("显示器1", mat1 );
namedWindow("显示器2", WINDOW_AUTOSIZE );
imshow("显示器2", mat2 );
namedWindow("显示器3", WINDOW_AUTOSIZE );
imshow("显示器3", mat3 );
}
Widget::~Widget()
{
delete ui;
}