opencv3.4.6里是没有lsd这个算法的,即使你的代码可以编译通过,运行也会报错,因为这个函数只有类名、函数名还保留着,函数的具体实现已经在opencv3.4.6以上的版本中移除了。这里是将低版本opencv3.1.0中的源码拿到opencv3.4.6中来用的。
一、实现步骤
1.在Opencv官网下载Opencv3.1.0的源码。
我是下载的是opencv3.1.0.exe,然后直接安装:安装包opencv3.1.0链接
2.在…opencv3.1.0\opencv\sources\modules\imgproc\src路径下找到lsd.cpp和precomp.hpp这两个文件:
3.复制lsd.cpp和precomp.hpp文件到你的c++工程目录下,然后头文件-添加-现有项-precomp.hpp,源文件-添加-现有项-lsd.cpp。
4.由于是将opencv3.1.0的源代码复制到你的opencv34.6环境中,所以需要修改出现的问题。
我修改的这几处:
注释掉precomp.hpp中的
#include“o