OpenCV Houghline 函数创建无限线

Posted

技术标签:

【中文标题】OpenCV Houghline 函数创建无限线【英文标题】:OpenCV Houghline function create unlimited lines 【发布时间】: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;

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于OpenCV Houghline 函数创建无限线的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV HoughLine 仅检测图像中的一行

OpenCV 的 HoughLines 以啥顺序列出 [rho,theta] 矩阵中检测到的线?

opencv 3 -- waitKey()函数

C++并发编程----实现线无锁线程安全的数据结构(《C++ Concurrency in Action》 读书笔记)

B站开源动漫画质修复模型,超分辨率无杂线无伪影,还是二次元最懂二次元

opencv 3 -- waitKey()函数