opencv Mat_ <uchar>迭代器失败

时间:2018-05-23 13:26:42

标签: opencv

opencv版本:3.4.1

"styles": [
  "../node_modules/bootstrap/dist/css/bootstrap.min.css",
  "styles.css"
 ],
 "scripts": [
   "../node_modules/jquery/dist/jquery.slim.min.js",
   "../node_modules/bootstrap/dist/js/bootstrap.min.js",
   "../node_modules/popper.js/dist/umd/popper.min.js"
 ],

此功能可在图像上检测到的边缘上显示圆圈以突出显示 在此代码中,第二行,在下面发生错误。

  

错误:断言失败(elemSize()== sizeof(_Tp))在cv :: Mat :: begin

参数二进制是角图,图像是我使用建筑图像的原始图像 我认为字节大小问题所以我检查了它 角的elemSize为3,sizeof(uchar)为1 但我不知道如何解决这种情况..

    void drawOnImage(const cv::Mat& binary, Mat& image) {
    Mat_<uchar>::const_iterator it = binary.begin<uchar>(); // THIS ONE
    Mat_<uchar>::const_iterator itend = binary.end<uchar>();

    for (int i = 0; it != itend; ++it, ++i) {
        if (!*it)
            circle(image, Point(i%image.step, i / image.step),
                5, Scalar(255, 0, 0));
    }
}

此函数的输出是binaray。

0 个答案:

没有答案