opencv 矩阵运算

1.矩阵乘(*)

    Mat mat1 = Mat::ones(2,3,CV_32FC1);
	Mat mat2 = Mat::ones(3,2,CV_32FC1);

	Mat mat3 = mat1 * mat2;        //矩阵乘

结果

opencv 矩阵运算_第1张图片

       opencv 矩阵运算_第2张图片        opencv 矩阵运算_第3张图片

 

2.元素乘法或者除法(mul)

    Mat m= Mat::ones(2, 3, CV_32FC1);
	m.at(0, 1) = 3;
	m.at(0, 2) = 6;
	m.at(1, 0) = 2;
	m.at(1, 1) = 4; 
	m.at(1, 2) = 5;
	Mat mat4 = mat1.mul(m); //执行元素乘法或者除法

结果

opencv 矩阵运算_第4张图片

opencv 矩阵运算_第5张图片 

 

3.向量的点积(dot)

double ret = mat1.dot(m);  //计算两个向量的点积。

结果

opencv 矩阵运算_第6张图片

 

4.multiply两个数组的按元素比例缩放的乘积

    Mat dst;
	multiply(mat1, m, dst);   //计算两个数组的按元素比例缩放的乘积

结果

        opencv 矩阵运算_第7张图片

 

5.矩阵转置transpose和t

    Mat matT=m.t();   //矩阵转置
	Mat dstT;
	transpose(m,dstT);//矩阵转置

结果:

        opencv 矩阵运算_第8张图片

opencv 矩阵运算_第9张图片

 

6.矩阵求逆inv

    Mat hMat = Mat::eye(Size(3, 3), CV_32F);
	Mat matInv = hMat.inv();      //矩阵求逆

结果

opencv 矩阵运算_第10张图片

opencv 矩阵运算_第11张图片 

 

你可能感兴趣的:(opencv,矩阵,人工智能)