线段分割算法实现

线段分割算法实验

三种线段分割方法:line segment detector(lsd) & edge drawing line detector(edl) & hough line detector(standard &.probabilistic) for detection
代码地址:c++版本
c版本LSD
MATLAB&OPENCV

工程中加入opencv库

main函数中加入下面代码:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;

在CMakeLists.txt中自定义opencv库的调用:

cmake_minimum_required(VERSION 2.8)

set(CMAKE_C_COMPILER "/usr/bin/gcc-4.9")
set(CMAKE_CXX_COMPILER "/usr/bin/g++-4.9")

project( main)

find_package(OpenCV 3.0 QUIET)
if(NOT OpenCV_FOUND)
   find_package(OpenCV 2.4.3 QUIET)
   if(NOT OpenCV_FOUND)
      message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
   endif()
endif()

MESSAGE(STATUS "OpenCV_DIR: ${OpenCV_DIR}")
MESSAGE(STATUS "OpenCV_LIBS: ${OpenCV_LIBS}")
MESSAGE(STATUS "OpenCV_VERSION: ${OpenCV_VERSION}")
MESSAGE(STATUS "OpenCV_INSTALL_PATH: ${OpenCV_INSTALL_PATH}")
MESSAGE(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")

include_directories(${OpenCV_INCLUDE_DIRS})
add_executable( main DisplayImage.cpp )
target_link_libraries( main${OpenCV_LIBS} )

解决error

报错OpenCV Error: Assertion failed (scn == 3 || scn== 4) in cv::cvtColor

  • 提示:把图图片的路径写对

error:invalid operands of types ‘int’ and ‘’ to binary ‘operator<<’

  • 原因是将:
cout<<"图片宽 %d 高 %d"<<W<<H<<endl;

写成了

cout<<"图片宽 %d 高 %d"<<W,H<<endl;

其实上述也是错误语法,正确表示为:

cout<<"图片宽:"<<W<<" 图片高:"<<H<<endl;

LSD线段分割算法实验

资源:百度网盘地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值