cvMatMulAdd使用

本文详细介绍了矩阵操作函数CV_MAT_ELEM和矩阵运算函数cvMatMulAdd的使用方法,并通过实例展示了如何在C++中进行矩阵乘法与加法操作。此外,还涉及到OpenCV库中的元素访问和矩阵乘法的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  CV_MAT_ELEM(matrix,elemtype, row, col)

matrix: 访问矩阵

elemtype: 矩阵元素的类型

row: 元素行数

clo: 元素的列数


2.  cvMatMulAdd(src1,src2,src3,dst)

功能是:dist=src1*src2+src3

src1 第一输入数组

src2 第二输入数组

src3 第三输入数组

dst  输出数组

使用例子如下所示:


// cvMat.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "cv.h"
#include "highgui.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	
	 CvMat* mat_01, * mat_02, * mat_03; 			//声明三个矩阵指针

	 mat_01=cvCreateMat(3,3,CV_64FC1); 			//指明矩阵头的类型
	 mat_02=cvCreateMat(3,3,CV_64FC1);
	 mat_03=cvCreateMat(3,3,CV_64FC1);

	  double a[9]={  4, 2, 4, 					    //具体存放数据的数组
			  		9, 7, 6,
			  		17, 81, 9 };

	cvInitMatHeader(mat_01,3,3,CV_64FC1,a);		   //初始化矩阵头
	
	mat_02=cvCloneMat(mat_01);					//mat_02拷贝mat_01

	cvMatMulAdd(mat_01, mat_02, 0,  mat_03);	    //矩阵相乘

	for(int i=0; i<3; i++)						    //输出相乘结果
	{
		for(int j=0; j<3; j++)
		{
			cout<<CV_MAT_ELEM( * mat_03, double, i, j )<<"  ";
		
		}

		cout<<endl;
	}

	 cvReleaseMat(&mat_01);
	 cvReleaseMat(&mat_02);
	 cvReleaseMat(&mat_03);
	return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值