【发布时间】:2015-07-16 16:57:18
【问题描述】:
我正在尝试做一个简单的 mat 乘法(在此 example 之后),但它给了我一个非常奇怪的错误。顺便说一下,我正在处理 IDE 上实现这一点。
import gab.opencv.*;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.core.Core;
OpenCV opencv;
void setup(){
size(300,300);
opencv = new OpenCV(this, width, height);
Mat r = new Mat(1, 3, CvType.CV_32F);
r.put(0, 0, 0.707);
r.put(0, 1, -0.707);
r.put(1, 0, 0.707);
r.put(1, 1, 0.707);
Mat v = new Mat(1, 2, CvType.CV_32F);
double d1 = 1.00;
double d2 = 2.00;
v.put(0, 0, d1);
v.put(0, 1, d2);
Mat final_mat = new Mat();
Core.gemm(v,r,1,new Mat(),0,final_mat);
}
这让我在 Core.gemm 行出现错误: OpenCV 错误:gemm 中的断言失败 (a_size.width == len),文件 /Users/matthewepler/opencv-2.4.5/modules/core/src/matmul.cpp,第 718 行
这个目录是什么???
我可以使用其他方法来乘以 mat 对象吗?
我最初的目标是让这样的东西发挥作用:
Mat C = ( A.t() * A ).inv(1) * ( A.t() * B );
其中 A 和 B 是我要相乘的 Mat...
【问题讨论】:
-
你遇到了什么错误?
-
对不起,我以为我提到了。我已经编辑了包含错误行的帖子
标签: opencv processing mat