【发布时间】:2017-04-26 23:01:26
【问题描述】:
我对 OpenCV 还是很陌生,最近遇到了 Houghline 函数。我在 Visual Studio 2015 中使用 OpenCV 3.2。我尝试了 HoughlineP 的示例代码,但没有成功。代码编译得很好,但运行无休止,有时当我按下“停止调试”时,它会弹出“未处理的异常............访问冲突读取位置......”错误。当我调试它时,它似乎是由 HoughlinsP 函数引起的(Canny 和 cvtColor 效果很好)。 HoughlinesP 函数之后的行 size=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;
}
【问题讨论】:
标签: c++ visual-studio opencv