繁体   English   中英

Opencv错误:断言失败

[英]Opencv Error:Assertion failed

我遇到了以下问题-我正在尝试运行以下代码,但偶然发现了这种磨损:

OpenCV Error: Assertion failed (dims <= 2 && data && (unsigned)i0 < (unsigned)size.p[0] && (unsigned)(i1*DataType<_Tp>::channels) < (unsigned)(size.p[1]*channels()) && ((((sizeof(size_t)<<28)|0x8442211)
((DataType<_Tp>::depth) & ((1 << 3) - 1))*4) & 15) == elemSize1()) in unknown function, file C:\opencv231\build\include\opencv2/core/mat.hpp, line 537.

码:

    int l = (int)Lines.size();
    Mat sep_seam_map = Mat::zeros(n,l - 1, CV_32F);// initialize the seperating seam map of coordinates.


for (int k = 1; k < l - 1; k++){
    //apply constrained seam carving for each pair of text lines:

    int L_a = Lines[k].first.x;
    int L_b = Lines[k + 1].first.x;

    for (int row = 2; row < n; row++) {
        for (int col = L_a; col < L_b; col++) {
            //Defining the bounderies upon which to find the minimum value seams.
            int left = std::max(col - 1, L_a);
            int right = std::min(col + 1, L_b);
            double minpath,max;
            Mat last_row = energy_map.operator()(Range(row - 1, row), Range(left, right));
            minMaxLoc(last_row, &minpath, &max);
            std::cout << last_row << " " << " " << endl;
            std::cout << "minpath: "<<minpath << " " << " " << endl;


            //End Cases - 

            if (minpath == 0) {
                if (col > left)
                    energy_map.at<float>(row, col) = energy_map.at<float>(row - 1, right);
                if (col < right)
                    energy_map.at<float>(row, col) = energy_map.at<float>(row - 1, left);
            }
            else
                std::cout << energy_map.at<float>(row, col) = energy_map.at<double>(row, col) + minpath;

            }


        }

我已经阅读过有关此错误的先前讨论,这是由于访问矩阵条目时出错而导致的,但似乎我不是在做错事(但显然我在做错事..)我将非常高兴获得任何帮助。 问候。

好的,所以我确实在访问矩阵条目时出现了错误处理-我本应该使用uchar作为模板来编辑条目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM