OpenCV Houghline功能创建无限的线条

时间:2017-04-26 23:01:27

标签: c++ visual-studio opencv

我仍然是OpenCV的新手,最近遇到了Houghline功能。我在Visual Studio 2015中使用OpenCV 3.2。我尝试了HoughlineP的示例代码但没有成功。代码编译得很好,但它运行无穷无尽,有时我推动"停止调试"弹出"未处理的异常.........访问违规阅读位置..."错误。当我调试它时,它似乎是由HoughlinsP函数引起的(Canny和cvtColor工作正常)。在HoughlinesP函数之后,行大小= 1152921504603840390(一个荒谬的巨大数字)。你能建议吗?谢谢。

#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat src, dst, color_dst;
src = imread("C:\\\Temp\\\img.jpg");
if (src.empty())
    return -1;
Canny(src, dst, 50, 200, 3);
cvtColor(dst, color_dst, COLOR_GRAY2BGR);

vector<Vec4i> lines;
HoughLinesP(dst, lines, 1, CV_PI / 180, 80, 30, 10);
for (size_t i = 0; i < lines.size(); i++)
{
    line(color_dst, Point(lines[i][0], lines[i][1]),
        Point(lines[i][2], lines[i][3]), Scalar(0, 0, 255), 3, 8);
}

namedWindow("Source", 1);
imshow("Source", src);
namedWindow("Detected Lines", 1);
imshow("Detected Lines", color_dst);
waitKey(0);
return 0;
}

1 个答案:

答案 0 :(得分:0)

感谢您的关注。它是通过从调试链接器输入中取出opencv_world320.lib来解决的。