美文网首页Android开发常见小问题列表
OpenCV 矩阵边界报错问题排查流程 cv::error()

OpenCV 矩阵边界报错问题排查流程 cv::error()

作者: WindsOfDanzon | 来源:发表于2019-05-06 15:49 被阅读18次
    cv::error(): OpenCV(4.0.1) Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in Mat
    

    如果在使用 OpenCV 做矩阵运算的时候,出现这种错误。那就意味着参与运算的矩阵在长宽条件上不满足正整数的条件值,或者是左上角坐标为负数。

    OpenCV 的坐标运算处理是默认全局坐标,左上角为(0,0)起始点,右下角为(+,+)的。
    这一点和 OpenGL 的顶点配置坐标系是不一样的。
    OpenCV 用于做图像运算时,每个矩阵中点的坐标都是对应图像相应像素点的直接坐标。

    因此,此类问题经常出现在移动端 OpenGL 与 OpenCV 协调处理图像数据的时候。
    如果出现,就需要检测一下,参与OpenCV运算的 Mat 其数据是不是来源自外部传参,且不是OpenCV 可处理的坐标。

    相关文章

      网友评论

        本文标题:OpenCV 矩阵边界报错问题排查流程 cv::error()

        本文链接:https://www.haomeiwen.com/subject/rifdoqtx.html