1.数据类型转换
float f = -12.9876f;
float ff = cvFloor(f); //近似一个浮点数x到不大于x的最近的整数(向下取整)
float fabs = cv::abs(f); //绝对值
float fround = cvRound(f);//近似一个浮点数x到最近的整数
float fceil = cvCeil(f); //近似一个浮点数到不小于x的最近的整数(向上取整)
cout<<"f="<<f<<",ff="<<ff<<",abs="<<fabs<<",round="<<fround<<",ceil="<<fceil<<endl;
输出结果:
f=-12.9876,ff=-13,abs=12.9876,round=-13,ceil=-12
2.矩阵的乘法
cv::Matx33f matx33f{1,1,1,2,2,2,3,3,3,};
cv::Matx33f matx33f2{1,1,1,1,1,1,1,1,1,};
cv::Vec3f vec3f{1,2,3};
//matx33f*vec3f;
cv::Matx33f matx33f3 = matx33f*matx33f2;
cv::Vec3f vec3f2 = matx33f*vec3f;
cout<<"matx33f="<<matx33f<<endl;
cout<<"matx33f2="<<matx33f2<<endl;
cout<<"matx33f3="<<matx33f3<<endl;
cout<<"vec3f1="<<vec3f<<endl;
cout<<"vec3f2="<<vec3f2<<endl;
C=A*B
C(i,j)=A(i行)*B(j列)
matx33f=[1, 1, 1;
2, 2, 2;
3, 3, 3]
matx33f2=[1, 1, 1;
1, 1, 1;
1, 1, 1]
matx33f3=[3, 3, 3;
6, 6, 6;
9, 9, 9]
vec3f1=[1, 2, 3]
vec3f2=[6, 12, 18]
向量是行 [1*1 + 1*2 + 1*3, 2*1 + 2*2 + 2*3, 3*1 + 3*2 + 3*3]