参考了《Opencv中Mat矩阵相乘——点乘、dot、mul运算详解 》“http://blog.csdn.net/dcrmg/article/details/52404580”的相关内容。

乘法是线性代数的基本操作,在OpenCV中有三种方法实现了乘法。

一、向量乘法
这两幅图像说明的就是向量乘法。在OpenCV中采用" . "来实现,要求是第一个矩阵的列值等于第二个矩阵的行值。且每个矩阵都是float结构。
    Mat A ,,CV_32FC1,Scalar());
    Vec3f v (,,);
    Mat B ,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);
    Mat AB = A*B;
二、数量乘法
对于输入的矩阵
数量乘法的结果为
那么可以看出来,这里要求a和b的向量结构是一样的,在OpenCV中,如果a和b是多维向量的话,那么首先是将其拉长为一维向量,然后做乘法。
 
    Mat A,,CV_8UC1);  
    Mat B,,CV_8UC1);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
  
    B.at,);  
    B.at,);  
    B.at,);  
    B.at,);  
    B.at,);  
    B.at,);  
    double AB=A.dot(B);  
三、乘法
最后介绍.mul这种乘法。这种乘法就是直接理解意义上的乘法。对于
乘法的结果为
参考代码
 
    Mat A ,,CV_32FC1,Scalar());
    Mat B ,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);  
    A.at,);
    Mat AB ,,CV_32FC1,Scalar());
    C = A.clone();
    Mat AC = A.mul(C);
 
 
 
四、小结
1、以上三种函数,都是以Mat作为输入参数和输出结果的;
2、. 这种乘法要求两个矩阵都是float结果,后两者只要求两个矩阵的结果是一样的;
3、可以看到,.这种乘法要求第一个矩阵的行值等于第二个矩阵的列值,而后两种乘法则要求参加运算的两个矩阵结构完全一样。
 

对OpenCV中3种乘法操作的理解掌握的更多相关文章

  1. opencv中Mat类型数据操作与遍历

    Mat作为opencv中一种数据类型常常用来存储图像,相对与以前的IplImgae类型来说,Mat类型省去了人工的对内存的分配与释放,转而自动分配释放.Mat Class主要包括两部个数据部分:一个是 ...

  2. 【OpenCV】三种方式操作图像像素

    OpenCV中,有3种访问每个像素的方法:使用at方法.使用迭代器方法.使用指针 运行如下程序后可以发现使用at方法速度最快. 代码如下: //操作图像像素 #include <opencv2/ ...

  3. 对OpenCV中Haar特征CvHaarClassifierCascade等结构理解

    首先说一下这个级联分类器,OpenCV中级联分类器是根据VJ 04年的那篇论文(Robust Real-Time Face Detection)编写的,查看那篇论文,知道构建分类器的步骤如下: 1.根 ...

  4. 记录php中一种骚操作

    $options = array( 'config' => array( 'aaa' => 111, 'bbb' => 222, ), 'headers' => array( ...

  5. OC中几种延时操作的比較

    1. sleepForTimeInterval,此函数会卡住当前线程,一般不用 <span style="font-size:18px;">[NSThread slee ...

  6. PS中10种样式操作

    (1)投影:将为图层上的对象.文本或形状后面添加阴影效果.投影参数由“混合模式”.“不透明度”.“角度”.“距离”.“扩展”和“大小”等各种选项组成,通过对这些选项的设置可以得到需要的效果. (2)内 ...

  7. C++ 中三种继承方式的理解

    一.公有继承(public inheritance) 1.概念:当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,而基类的私有成员不可以直接访问. 实验一下:   我们用代 ...

  8. 使用Opencv中matchTemplate模板匹配方法跟踪移动目标

    模板匹配是一种在图像中定位目标的方法,通过把输入图像在实际图像上逐像素点滑动,计算特征相似性,以此来判断当前滑块图像所在位置是目标图像的概率. 在Opencv中,模板匹配定义了6种相似性对比方式: C ...

  9. OpenCV中的霍夫线变换和霍夫圆变换

    一.霍夫线变换 霍夫线变换是OpenCv中一种寻找直线的方法,输入图像为边缘二值图. 原理: 一条直线在图像二维空间可由两个变量表示, 例如: 1.在 笛卡尔坐标系: 可由参数: (m,b) 斜率和截 ...

随机推荐

  1. web基础----->servlet中得到请求的数据

    对tomcat的源码做一些分析,今天我们就开始servlet中的请求分析. form表单中的默认类型 一.在index.jsp中get请求: <form action="Paramet ...

  2. jQuery stop()的用法

    1.stop([stopAll], [gotoEnd])方法有两个参数(当然可以不传或直传一个),其中stopAll的意思是清除之后的所有动画.gotoEnd的意思是,执行完当前动画. 2.stopA ...

  3. Chrome浏览器下CSS字体大小设置小于12px无效问题

    当字体大小被设置小于12px时,IE.firefox可以起作用.但chrome中仍然显示为12px大小. 解决方法为: html, body {     -webkit-text-size-adjus ...

  4. android极光推送

    版权声明:本文为博主原创文章,未经博主允许不得转载. Android开发记录18-集成推送服务的一点说明 关于推送服务,国内有很多选择,笔者也对它们进行了一个详细的对比,一般我们产品选择推送服务主要考 ...

  5. .net asp iis服务器如何让外部访问自己的网站

    1.控制面板-防火墙-高级设置-入站规则-右侧的BranchCache内容检索,右键启用规则.  

  6. Centos6.8 防火墙设置

    1.指令 vi /etc/sysconfig/iptables 添加以下内容和要开放的端口 # Firewall configuration written by system-config-fire ...

  7. Spring源码学习之BeanFactory体系结构

    一.BeanFactory BeanFactory是Spring IOC容器的鼻祖,是IOC容器的基础接口,所有的容器都是从它这里继承实现而来.可见其地位.BeanFactory提供了最基本的IOC容 ...

  8. [转]ORM的优缺点

    ORM[Object-Relation-Mapping]对象关系映射. 这个名词已经出来好几年了.已经不陌生.  以前在项目中针对相对复杂业务逻辑时一般采用领域模型驱动方式进行业务概述,分析和建模. ...

  9. spring boot 打包方式 spring boot 整合mybaits REST services

    <build> <sourceDirectory>src/main/java</sourceDirectory> <plugins> <plugi ...

  10. 获取access_token示例代码

    文档中心--百度AI-百度AI开放平台 http://ai.baidu.com/docs#/NLP-API/top #include <iostream> #include <cur ...