成功打印每个元素后,OpenCV分段错误

时间:2018-03-05 18:52:21

标签: c++ opencv

执行时此代码显示预期输出,但最后打印分段错误(核心转储):

int main(){

    Mat src(100,100,CV_32F,0);

    for(int i=0 ; i < src.rows ; i++ ){
        for(int j=0 ; j < src.cols ; j++ ){
            src.at<float>(i,j)=0;
        }
    }

    for(int i=0 ; i < src.rows ; i++ ){
        for(int j=0 ; j < src.cols ; j++ ){
            cout<<src.at<float>(i,j)<<" ";
        }
        cout<<endl;
    }

    return 0;
} 

1 个答案:

答案 0 :(得分:0)

请编写最小的工作示例,以便我们可以简单地复制并粘贴代码并进行测试。

opencv

问题似乎是CV_Assertopencv2/core/mat.inl.hpp的第500行dataNULL1进行比较。基本上,当你在构造函数中给出非{0}的非零值,或使用他们的Scalar数据类型来提供值时,你的代码就可以了。

顺便说一下,我没有收到段错误,只是在链接到CV::Exception后尝试运行代码时只有opencv_core