zoukankan      html  css  js  c++  java
  • Mat表达式

    利用C++中的运算符重载,Opencv2中引入了Mat运算表达式。这一新特点使得使用c++进行编程时,就如同写Matlab脚本。

    例如:

    如果矩阵A和B大小相同,则可以使用如下表达式:

    C=A+B+1;

    其执行结果是A和B的对应元素相加,然后再加1,并将生成的矩阵赋给C变量。

    下面给出 Mat 表达式所支持的运算。下面的列表中使用 A 和 B 表示 Mat 类型的对象,使用 s 表示 Scalar 对象,alpha 表示 double 值。

    #include<iostream>
    #include"opencv2/opencv.hpp"
    using namespace std;
    using namespace cv;
    int main(int argc, char *argv[])
    {
     Mat A = Mat::eye(4,4,CV_32SC1);
     Mat B = A * 3 + 1;
     Mat C = B.diag(0) + B.col(1);
     cout << "A=" << A << endl << endl;
     cout << "B=" << B << endl << endl;
     cout << "C=" << C << endl << endl;
     cout << "C. *diag(B)=" << C.dot(B.diag(0)) << endl;
     waitKey(0);
     return 0;
    }

  • 相关阅读:
    读写csv文件
    安卓跳转
    求时间精确到秒的数
    航空公司客户价值分析
    利用LM神经网络和决策树去分类
    拉格朗日插值法
    ID3
    K最近邻
    贝叶斯分类
    FilterDispatcher已被标注为过时解决办法
  • 原文地址:https://www.cnblogs.com/gary-guo/p/6558333.html
Copyright © 2011-2022 走看看