findContours异常问题(opencv3.1+vs2013)

原创 2016年05月30日 15:10:23

1. VS2013环境配置

1.1 配置opencv3.1环境

      1)配置包含目录和库目录

       

      2)配置opencv依赖库

      

1.2 opencv3.1运行模式配置

     配置运行库:

     1)外部连接依赖为:opencv_world310.lib:(Release模式)

          则运行库配置为/MT或/MD才能正常工作

     2)  外部连接依赖为:opencv_world310d.lib:(Debug模式)

          则运行库配置为/MTd或/MDd才能正常工作

     

     MT:MultiThread(static link)     ibcmt.lib
     MD:MultiThread(dynamic link)    msvert.lib

2. 示例代码

#include <opencv2/opencv.hpp>
#include <iostream>
struct Component
{
    cv::Rect boundingBox;
    double area;
    double circularity;
};
int main()
{
    // Create a small image with a circle in it.
    cv::Mat image(256, 256, CV_8UC3, cv::Scalar(0, 0, 0));
    cv::circle(image, cv::Point(80, 110), 42, cv::Scalar(255,127, 63), -1);

    // Find canny edges.
    cv::Mat cannyEdges;
    cv::Canny(image, cannyEdges, 80, 60);

    // Show the images.
    cv::imshow("img", image);
    cv::imshow("cannyEdges", cannyEdges);

    // Find the contours in the canny image.
    cv::vector<cv::Vec4i> hierarchy;

    // "Each contour is stored as a vector of points."
    // http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html#findcontours
    typedef cv::vector<cv::vector<cv::Point> > TContours;
    TContours contours;
    cv::findContours(cannyEdges, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE);
    // cannyEdges is destroyed after calling cv::findContours

    // Print number of found contours.
    std::cout << "Found " << contours.size() << " contours." << std::endl;

    // Convert contours to Components.
    typedef cv::vector<Component> TComponents;
    TComponents components;
    for (TContours::const_iterator it( contours.begin() ); it != contours.end(); ++it)
    {
        Component c;
        c.area = cv::contourArea(*it);
        c.boundingBox = cv::boundingRect(*it);
        c.circularity = 0.0; // Insert whatever you mean by circularity;
        components.push_back(c);
    }

    for (TComponents::const_iterator it( components.begin() ); it != components.end(); ++it)
        std::cout << it->area << std::endl; // and whatever you want.

    // Wait for user input.
    cv::waitKey();
}

3. 出错原因

    1) VS版本与OpenCV VS版本不匹配

    2) Opencv与Debug与Release与VS工程的配置不一致


FindContours()函数使用时导致的程序崩溃问题的解决方案

最近通过使用opencv做标志牌检测时,涉及到了opencv库中findContours函数的调用,在对该函数使用时出现了程序崩溃的问题,花了两天的时间才解决的该问题。 下面先对findContou...
  • AUTO1993
  • AUTO1993
  • 2016年09月28日 22:19
  • 4841

opencv 调用findContours异常的问题

如果使用vector contours;作为findContours的参数,在运行时会得到Assertion failed (mtype == type0 || (CV_MAT_CN(mtype) =...
  • flyback
  • flyback
  • 2015年04月18日 16:38
  • 5711

findContours异常问题(opencv3.1+vs2013)

1. VS2013环境配置 1.1 配置opencv3.1环境       1)配置包含目录和库目录               2)配置opencv依赖库        1.2 opencv3.1运...
  • MyArrow
  • MyArrow
  • 2016年05月30日 15:10
  • 3120

vs2010和2012中Opencv2.4 轮廓findContours内存错误crash非配置方式完美解决方法验证代码

  • 2015年08月12日 20:02
  • 849B
  • 下载

findContours函数导致崩溃

在程序中使用:findContours(grayImage, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE, Point(...
  • superdont
  • superdont
  • 2014年05月03日 20:35
  • 10235

VS2015中findContours的BUG

如果有以下问题之一的,我已经发现解决办法。 1,在DEBUG模式下使用findContours能正常运行,在release模式下出错或闪退 2,在其他版本中findContours能正常运行,在VS2...
  • sac761
  • sac761
  • 2016年08月05日 11:49
  • 7605

Opencv FindContours报错的解决方案

近期有做关于提取图像轮廓的MFC程序,opencv的findContours函数是效果挺不错的一个选择。但我的程序在编译完全没问题的情况下出现报错。报错情况如下: 1.Debug版:在析构findC...
  • melon1188
  • melon1188
  • 2017年05月17日 22:33
  • 755

opencv findContours使用问题

在使用findContours函数时,碰到堆栈出错的问题 后面写了一个简单的方法测试findContours,发现一样出现问题 void test(){ Mat src = imread("dif...
  • xu20082100226
  • xu20082100226
  • 2015年04月06日 20:14
  • 1550

vs+opencv中findcontours崩溃的问题

vs+opencv中findcontours崩溃的问题最近遇到了vs2010和vs2013中findcontours崩溃的问题,查了好多,在一个人的回答里找到了解决方法vector contours(...
  • zhushuo1992
  • zhushuo1992
  • 2016年04月22日 10:49
  • 2438

VS 下使用findcontours函数触发断点问题解决方案

因为最近在做一个轮廓检测的项目,其中需要用到findcontour函数对二值图像的轮廓进行提取,然而在使用时却出现了许多问题,在DEBUG模式下总是会报错“.......exe have trigge...
  • Gavinv
  • Gavinv
  • 2016年06月14日 10:31
  • 2129
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:findContours异常问题(opencv3.1+vs2013)
举报原因:
原因补充:

(最多只允许输入30个字)