LSD - Line Segment Detector
===========================
Version 1.6 - November 11, 2011
by Rafael Grompone von Gioi <grompone@gmail.com>
Introduction
------------
LSD is an implementation of the Line Segment Detector on digital
images described in the paper:
"LSD: A Fast Line Segment Detector with a False Detection Control"
by Rafael Grompone von Gioi, Jeremie Jakubowicz, Jean-Michel Morel,
and Gregory Randall, IEEE Transactions on Pattern Analysis and
Machine Intelligence, vol. 32, no. 4, pp. 722-732, April, 2010.
and in more details in the CMLA Technical Report:
"LSD: A Line Segment Detector, Technical Report",
by Rafael Grompone von Gioi, Jeremie Jakubowicz, Jean-Michel Morel,
Gregory Randall, CMLA, ENS Cachan, 2010.
The version implemented here includes some further improvements as
described in the IPOL article of which this file is part:
"LSD: a Line Segment Detector" by Rafael Grompone von Gioi,
Jeremie Jakubowicz, Jean-Michel Morel, and Gregory Randall,
Image Processing On Line, 2012. DOI:10.5201/ipol.2012.gjmr-lsd
http://dx.doi.org/10.5201/ipol.2012.gjmr-lsd
Files
-----
README.txt - This file.
COPYING - GNU AFFERO GENERAL PUBLIC LICENSE Version 3.
Makefile - Compilation instructions for 'make'.
lsd.c - LSD module ANSI C code, peer reviewed file.
lsd.h - LSD module ANSI C header, peer reviewed file.
lsd_cmd.c - command line interface for LSD, ANSI C code.
lsd_call_example.c - Minimal example of calling LSD from a C language program.
chairs.pgm - Test image in PGM format.
chairs.lsd.txt - Expected result for 'chairs.pgm' image as an ASCII file.
chairs.lsd.eps - Expected result for 'chairs.pgm' image as an EPS file.
doc - Html code documentation.
doxygen.config - doxygen configuration file for documentation generation.
The files "lsd.c" and "lsd.h" were subject to peer review as part of
the acceptance process of the IPOL article, and are the official
version of LSD.
Compiling
---------
LSD is an ANSI C Language program and can be used as a module
to be called from a C language program or as an independent
command.
In the distribution is included a Makefile file with instructions
to build the command lines program 'lsd', as well as minimal
example program on how to call LSD from C code.
To build both programs, a C compiler (called with 'cc') must be
installed on your system, as well as the program 'make'.
LSD only uses the standard C library so it should compile
in any ANSI C Language environment. In particular, it should
compile in an Unix like system.
The compiling instruction is just
make
from the directory where the source codes and the Makefile are located.
To verify a correct compilation you can apply LSD to the test
image 'chairs.pgm' and compare the result to the provided ones.
An explicit example of how to compile a program using LSD as a module
is provided. The compilation line for 'lsd_call_example.c' is just
cc -o lsd_call_example lsd_call_example.c lsd.c -lm
Running LSD Command
-------------------
The simplest LSD command execution is just
lsd
or
./lsd
if the command is not in the path. That should print LSD version
and the command line interface, including the available options.
The only input image format handled by LSD is PGM, in its two
versions, ASCII and Binary. A useful execution would be:
lsd chairs.pgm chairs.result.txt
That should give the result as an ASCII file 'chairs.result.txt' where
each line corresponds to a detected line segment. Each line is
composed of seven numbers separated by spaces, that are
x1, y1, x2, y2, width, p, -log_nfa.
For example, the line:
159.232890 134.369601 160.325338 105.613616 2.735466 0.125000 17.212465
means that a line segment starting at point (159.232890,134.369601),
ending at point (160.325338 105.613616) and of width 2.735466 was
detected. An angle precision p of 0.125 was used, which means a
gradient angle tolerance of p*180 = 0.125*180 = 22.5 degree. The
opposite of the logarithm in base 10 of the NFA value of the detection
was -log_10(NFA)=17.212465, so the NFA value was 10^(-17.2124656),
roughly 6e-18. The length unit is the pixel and the origin of
coordinates is the center of the top-left pixel (0,0).
For easier visualization of the result, the LSD command can also
give the output in EPS or SVG file formats. For example,
lsd -P chairs.result.eps chairs.pgm chairs.result.txt
will, in addition to the ASCII output file, produce the EPS file
'chairs.result.eps'.
To see the full options, execute LSD command without parameters,
as in './lsd'.
Optional arguments should always appear before the needed arguments
input and output. For example, the following line is wrong:
lsd chairs.pgm -s 0.5 chairs.result.txt -> WRONG!!
and should be
lsd -s 0.5 chairs.pgm chairs.result.txt
If the name of an input file is just - (one dash), then that
file will be read from the standard input. Analogously, if the
name of an output file is just - (one dash), then that file
will be written to the standard output. For example,
lsd - -
will work as a filter, taking the input from standard input and
giving the output to standard output.
Code Documentation
------------------
There is a HTML documentation of the code on the directory 'doc'. The
entry point is the file 'doc/index.html' that should be opened with a
web browser. The documentation was automatically generated from the
source code files using the Doxygen documentation system, see
http://www.stack.nl/~dimitri/doxygen/.
Copyright and License
---------------------
Copyright (c) 2007-2011 rafael grompone von gioi <grompone@gmail.com>
LSD is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
LSD is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
没有合适的资源?快使用搜索试试~ 我知道了~
lsd_V1.6.zip
共91个文件
png:55个
html:22个
c:3个
需积分: 10 3 下载量 6 浏览量
2020-08-27
21:33:52
上传
评论
收藏 616KB ZIP 举报
温馨提示
OpenCV中的直线检测算法:LSD: a Line Segment Detector 这里还有在线演示功能:http://www.ipol.im/pub/art/2012/gjmr-lsd/ 从国外网站下载的LSD直线检测的源代码,
资源推荐
资源详情
资源评论
收起资源包目录
lsd_V1.6.zip (91个子文件)
lsd_1.6
README.txt 6KB
lsd.c 76KB
chairs.lsd.txt 49KB
lsd_call_example.c 840B
lsd.h 14KB
lsd_cmd.c 38KB
chairs.lsd.eps 65KB
doxygen.config 43KB
doc
lsd_8h__dep__incl.png 366B
lsd_8c_a51_cgraph.png 7KB
globals_func.html 5KB
lsd_8c_a57_cgraph.png 1KB
lsd_8c_a43_cgraph.png 376B
form_1.png 633B
structrect__iter.html 10KB
form_8.png 1KB
files.html 1KB
lsd_8c_a52_cgraph.png 3KB
structpoint.html 4KB
formula.repository 1023B
lsd_8c_a44_cgraph.png 388B
lsd_8c_a29_cgraph.png 586B
lsd_8c_a41_cgraph.png 794B
lsd_8c_a47_cgraph.png 6KB
globals_type.html 1KB
lsd_8c_a21_cgraph.png 574B
form_7.png 628B
lsd_8c_a45_cgraph.png 2KB
lsd_8c_a39_cgraph.png 727B
lsd_8c-source.html 196KB
lsd_8c_a55_cgraph.png 11KB
functions.html 3KB
lsd_8c_a54_cgraph.png 11KB
annotated.html 2KB
structimage__char__s.html 5KB
form_3.png 1KB
structcoorlist__coll__graph.png 451B
index.html 3KB
lsd_8c_a27_cgraph.png 804B
lsd_8c_a25_cgraph.png 1KB
lsd_8c_a50_cgraph.png 901B
doxygen.png 2KB
form_10.png 776B
structrect.html 15KB
lsd_8h.html 47KB
lsd_8c_a19_cgraph.png 514B
lsd_8c__incl.png 2KB
form_4.png 2KB
lsd_8c_a46_cgraph.png 2KB
lsd_8c_a20_cgraph.png 527B
lsd_8c.html 289KB
globals.html 6KB
lsd_8c_a31_cgraph.png 1KB
lsd_8c_a53_cgraph.png 5KB
functions_vars.html 3KB
doxygen.css 5KB
structntuple__list__s.html 7KB
lsd_8c_a24_cgraph.png 550B
lsd_8c_a22_cgraph.png 996B
lsd_8c_a56_cgraph.png 12KB
form_9.png 1001B
lsd_8c_a48_cgraph.png 1KB
graph_legend.html 5KB
form_0.png 706B
lsd_8h_a0_cgraph.png 11KB
lsd_8h_a2_cgraph.png 12KB
structcoorlist.html 4KB
form_5.png 1KB
graph_legend.png 4KB
lsd_8c_a49_cgraph.png 2KB
lsd_8c_a40_cgraph.png 463B
lsd_8c_a42_cgraph.png 747B
form_6.png 2KB
lsd_8c_a34_cgraph.png 454B
structimage__double__s.html 6KB
structimage__int__s.html 5KB
lsd_8h-source.html 26KB
lsd_8c_a26_cgraph.png 519B
lsd_8c_a33_cgraph.png 927B
lsd_8h_a1_cgraph.png 11KB
lsd_8c_a30_cgraph.png 657B
form_2.png 639B
graph_legend.dot 2KB
globals_defs.html 2KB
lsd_8c_a28_cgraph.png 576B
lsd_8h_a3_cgraph.png 1KB
lsd_8c_a23_cgraph.png 532B
lsd_8c_a32_cgraph.png 5KB
Makefile 1KB
chairs.pgm 1.02MB
COPYING 34KB
共 91 条
- 1
资源评论
langeldep
- 粉丝: 1365
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Arduino和Firebase的智能家庭管理系统NodeSmartHome.zip
- (源码)基于C++的East Zone DSTADSO Robotics Challenge 2019机器人控制系统.zip
- (源码)基于Arduino平台的焊接站控制系统.zip
- (源码)基于ESPboy系统的TZXDuino WiFi项目.zip
- (源码)基于Java的剧场账单管理系统.zip
- (源码)基于Java Swing的船只资料管理系统.zip
- (源码)基于Python框架的模拟购物系统.zip
- (源码)基于C++的图书管理系统.zip
- (源码)基于Arduino的简易温度显示系统.zip
- (源码)基于Arduino的智能电动轮椅系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功