opencv in c ++ - findContours exception

时间:2015-07-30 21:36:01

标签: c++ opencv

我正在使用visual-studio和opencv lib,我一直在尝试使用findContours(),但无论我给出什么参数,它总是触发一个断点,

我试图制作图像二进制文件(b& w),在不同版本中重新安装库,弄乱链接器首选项以及我在网络上找到的任何内容。

(这段代码是我在网络上找到的众多代码之一 - 他们都会捣毁他们找到的一个人)

有谁知道如何解决这个问题?

#include <iostream>
#include <vector>
#include "opencv2/opencv.hpp"

using namespace cv;
using std::vector;

int main()
{
    vector<vector<cv::Point>> contours = vector<vector<cv::Point>>();
    vector<Vec4i> hierarchy;
    Mat frame, cont, threshold_;

    VideoCapture capture = VideoCapture(0);

    if (!capture.isOpened())
    {
        return -1;
    }

    while (true)
    {
        capture >> frame;
        if (frame.empty()) break;

        cont = frame.clone();
        cvtColor(cont, cont, COLOR_BGR2GRAY);

        cv::threshold(cont, cont, 128, 255, THRESH_BINARY);
        threshold_ = cont.clone();

        findContours(cont, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE);

        for (unsigned int i = 0; i < contours.size(); i++) 
        {
            drawContours(frame, contours, i, Scalar(0, 0, 255), 2);
        }

        imshow("Contour", threshold_);
        imshow("Video", frame);

        if (cv::waitKey(30) == 'q')
        {
            break;
        }
    }
    return 0;
}

0 个答案:

没有答案