我是第一次尝试在openCV中进行一些矩阵运算,我在使用矩阵时遇到了问题。我得到了类似函数的段错误。
void foo()
{
cv::Mat m1(2, 1, CV_32F);
m1.at<float>(0) = 1;
m1.at<float>(1) = 2;
//The following line gives me a segfault
double norm = cv::norm(m1, cv::NORM_L2);
}
为什么我在上面的行中遇到了段错误?我似乎无法找到任何未初始化或未分配的数组。我错过了什么?
编辑://好吧我发现了问题。显然ubuntu 14.04在版本2.4.8中安装了openCV auto,我使用的是3.1.0版本。然后,程序将错误的库链接到我使用的包含(2.4.8 libs和3.1.0包含)。我没想到首先检查一下libs。