我可能是难以置信的愚蠢在这里,但我无法做的OpenCV采用Android的一些basicaly垫乘法。
我有两个垫的两个同类型的, CV_64F
mat1
具有尺寸:3行,3个COLS
mat2
具有尺寸:3行,1个COLS
我想将它们相乘得到产品mat3
尺寸3排,1周的cols的。
我已经尝试使用:
Mat mat3 = new Mat(3, 1, CvType.CV_64F);
Core.multiply(mat1, mat2, mat3);
但是,我得到一个错误:
CvException [org.opencv.core.CvException:/home/andreyk/OpenCV2/trunk/opencv_2.3.1.b2/modules/core/src/arithm.cpp:1253:错误:(-209)的动作既不是“数组运算阵列”(其中阵列具有相同的尺寸和相同的信道数目),也不‘在功能无效CV :: arithm_op阵列运算标量’,也不是‘的标量运算数组’(常量CV :: _ InputArray&,常量CV :: _ InputArray&,常量CV :: _ OutputArray&,常量CV :: _ InputArray&,INT,无效(*)(const的UCHAR,为size_t,const的UCHAR *,为size_t,UCHAR *,为size_t,CV ::尺寸,无效*),布尔,无效*)
我究竟做错了什么?
感谢提前任何帮助。
编辑:
如果有帮助,3x3矩阵mat2
是结果Imgproc.getPerspectiveTransform
和其他代码如下:
Mat mat1 = new Mat(3, 1, CvType.CV_64F);
mat1.put(0, 0, 2.0);
mat1.put(1, 0, 0.5);
mat1.put(2, 0, 1.0);
Mat mat3 = new Mat(3, 1, CvType.CV_64F);
Core.multiply(mat2, mat1, mat3);