Commit 96183dd0 authored by biagio montesano's avatar biagio montesano

Lines extraction and descriptors testing completed

parent fc72a71b
......@@ -12,7 +12,7 @@ IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
ELSE(BUILD_TYPE)
SET(CMAKE_INSTALL_CONFIG_NAME "Release")
SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
ENDIF(BUILD_TYPE)
MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
......
......@@ -14,170 +14,11 @@
# EXTERNAL cache entries
########################
//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar
//For backwards compatibility, what version of CMake commands and
// syntax should this version of CMake try to support.
CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4
//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
CMAKE_BUILD_TYPE:STRING=
//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON
//CXX compiler.
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
//Flags used by the compiler during all build types.
CMAKE_CXX_FLAGS:STRING=
//Flags used by the compiler during debug builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
//Flags used by the compiler during release minsize builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the compiler during release builds (/MD /Ob1 /Oi
// /Ot /Oy /Gs will produce slightly less optimized but smaller
// files).
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the compiler during Release with Debug Info builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g
//C compiler.
CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc
//Flags used by the compiler during all build types.
CMAKE_C_FLAGS:STRING=
//Flags used by the compiler during debug builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g
//Flags used by the compiler during release minsize builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the compiler during release builds (/MD /Ob1 /Oi
// /Ot /Oy /Gs will produce slightly less optimized but smaller
// files).
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the compiler during Release with Debug Info builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g
//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING=' '
//Flags used by the linker during debug builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during release minsize builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during release builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during Release with Debug Info builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld
//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
//Flags used by the linker during the creation of modules.
CMAKE_MODULE_LINKER_FLAGS:STRING=' '
//Flags used by the linker during debug builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during release minsize builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during release builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during Release with Debug Info builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm
//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=Project
//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
//Flags used by the linker during the creation of dll's.
CMAKE_SHARED_LINKER_FLAGS:STRING=' '
//Flags used by the linker during debug builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during release minsize builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during release builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during Release with Debug Info builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO
//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip
//If true, cmake will use relative paths in makefiles and projects.
CMAKE_USE_RELATIVE_PATHS:BOOL=OFF
//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make. This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//Single output directory for building all executables.
EXECUTABLE_OUTPUT_PATH:PATH=
//Single output directory for building all libraries.
LIBRARY_OUTPUT_PATH:PATH=
//Value Computed by CMake
Project_BINARY_DIR:STATIC=/home/ubisum/src/opencv_contrib/modules/line_descriptor
//Value Computed by CMake
Project_SOURCE_DIR:STATIC=/home/ubisum/src/opencv_contrib/modules/line_descriptor
########################
# INTERNAL cache entries
########################
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_BUILD_TOOL
CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1
//What is the target build tool cmake is generating for.
CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/home/ubisum/src/opencv_contrib/modules/line_descriptor
//Major version of cmake used to create the current loaded cache
......@@ -186,111 +27,14 @@ CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2
CMAKE_CACHE_MINOR_VERSION:INTERNAL=8
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=7
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
CMAKE_CXX_COMPILER_WORKS:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
CMAKE_C_COMPILER_WORKS:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Result of TRY_COMPILE
CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE
//Result of TRY_COMPILE
CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE
//Path to cache edit program executable.
CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Start directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/home/ubisum/src/opencv_contrib/modules/line_descriptor
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake-2.8
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/bin/uname
//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS
CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
# The set of languages for which implicit dependencies are needed:
SET(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
SET(CMAKE_DEPENDS_CHECK_CXX
"/home/ubisum/src/opencv/modules/line_descriptor/samples/compute_descriptors.cpp" "/home/ubisum/src/opencv/modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o"
)
SET(CMAKE_CXX_COMPILER_ID "GNU")
# Preprocessor definitions for this target.
SET(CMAKE_TARGET_DEFINITIONS
"__OPENCV_BUILD=1"
)
# Targets to which this target links.
SET(CMAKE_TARGET_LINKED_INFO_FILES
"/home/ubisum/src/opencv/modules/line_descriptor/CMakeFiles/opencv_line_descriptor.dir/DependInfo.cmake"
"/home/ubisum/src/opencv/modules/core/CMakeFiles/opencv_core.dir/DependInfo.cmake"
"/home/ubisum/src/opencv/modules/flann/CMakeFiles/opencv_flann.dir/DependInfo.cmake"
"/home/ubisum/src/opencv/modules/imgproc/CMakeFiles/opencv_imgproc.dir/DependInfo.cmake"
"/home/ubisum/src/opencv/modules/highgui/CMakeFiles/opencv_highgui.dir/DependInfo.cmake"
"/home/ubisum/src/opencv/modules/features2d/CMakeFiles/opencv_features2d.dir/DependInfo.cmake"
"/home/ubisum/src/opencv/modules/optim/CMakeFiles/opencv_optim.dir/DependInfo.cmake"
)
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# The program to use to edit the cache.
CMAKE_EDIT_COMMAND = /usr/bin/ccmake
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/ubisum/src/opencv
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/ubisum/src/opencv
# Include any dependencies generated for this target.
include modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/depend.make
# Include the progress variables for this target.
include modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/progress.make
# Include the compile flags for this target's objects.
include modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/flags.make
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o: modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/flags.make
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o: modules/line_descriptor/samples/compute_descriptors.cpp
$(CMAKE_COMMAND) -E cmake_progress_report /home/ubisum/src/opencv/CMakeFiles $(CMAKE_PROGRESS_1)
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o"
cd /home/ubisum/src/opencv/modules/line_descriptor && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o -c /home/ubisum/src/opencv/modules/line_descriptor/samples/compute_descriptors.cpp
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.i"
cd /home/ubisum/src/opencv/modules/line_descriptor && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/ubisum/src/opencv/modules/line_descriptor/samples/compute_descriptors.cpp > CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.i
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.s"
cd /home/ubisum/src/opencv/modules/line_descriptor && /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/ubisum/src/opencv/modules/line_descriptor/samples/compute_descriptors.cpp -o CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.s
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o.requires:
.PHONY : modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o.requires
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o.provides: modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o.requires
$(MAKE) -f modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build.make modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o.provides.build
.PHONY : modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o.provides
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o.provides.build: modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o
# Object files for target example_line_descriptor_compute_descriptors
example_line_descriptor_compute_descriptors_OBJECTS = \
"CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o"
# External object files for target example_line_descriptor_compute_descriptors
example_line_descriptor_compute_descriptors_EXTERNAL_OBJECTS =
bin/example_line_descriptor_compute_descriptors: modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o
bin/example_line_descriptor_compute_descriptors: lib/libopencv_line_descriptor.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_core.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_flann.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_imgproc.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_highgui.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_features2d.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_optim.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_highgui.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_flann.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_imgproc.so.3.0.0
bin/example_line_descriptor_compute_descriptors: lib/libopencv_core.so.3.0.0
bin/example_line_descriptor_compute_descriptors: modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build.make
bin/example_line_descriptor_compute_descriptors: modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX executable ../../bin/example_line_descriptor_compute_descriptors"
cd /home/ubisum/src/opencv/modules/line_descriptor && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/example_line_descriptor_compute_descriptors.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build: bin/example_line_descriptor_compute_descriptors
.PHONY : modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/requires: modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o.requires
.PHONY : modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/requires
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/clean:
cd /home/ubisum/src/opencv/modules/line_descriptor && $(CMAKE_COMMAND) -P CMakeFiles/example_line_descriptor_compute_descriptors.dir/cmake_clean.cmake
.PHONY : modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/clean
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/depend:
cd /home/ubisum/src/opencv && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubisum/src/opencv /home/ubisum/src/opencv/modules/line_descriptor /home/ubisum/src/opencv /home/ubisum/src/opencv/modules/line_descriptor /home/ubisum/src/opencv/modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/depend
FILE(REMOVE_RECURSE
"CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o"
"../../bin/example_line_descriptor_compute_descriptors.pdb"
"../../bin/example_line_descriptor_compute_descriptors"
)
# Per-language clean rules from dependency scanning.
FOREACH(lang CXX)
INCLUDE(CMakeFiles/example_line_descriptor_compute_descriptors.dir/cmake_clean_${lang}.cmake OPTIONAL)
ENDFOREACH(lang)
# Empty dependencies file for example_line_descriptor_compute_descriptors.
# This may be replaced when dependencies are built.
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
# compile CXX with /usr/bin/c++
CXX_FLAGS = -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mssse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -I/home/ubisum/src/opencv/modules/optim/include -I/home/ubisum/src/opencv/modules/features2d/include -I/home/ubisum/src/opencv/modules/highgui/include -I/home/ubisum/src/opencv/modules/imgproc/include -I/home/ubisum/src/opencv/modules/flann/include -I/home/ubisum/src/opencv/modules/core/include -I/home/ubisum/src/opencv/modules/line_descriptor -I/home/ubisum/src/opencv/modules/line_descriptor/src -I/home/ubisum/src/opencv/modules/line_descriptor/include -I/home/ubisum/src/opencv -isystem /usr/local/include/eigen3
CXX_DEFINES = -D__OPENCV_BUILD=1
/usr/bin/c++ -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mssse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o -o ../../bin/example_line_descriptor_compute_descriptors -rdynamic ../../lib/libopencv_line_descriptor.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_features2d.so.3.0.0 ../../lib/libopencv_optim.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 -Wl,-rpath,/home/ubisum/src/opencv/lib
......@@ -2,7 +2,7 @@
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
# compile CXX with /usr/bin/c++
CXX_FLAGS = -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG -I/home/ubisum/src/opencv/modules/optim/include -I/home/ubisum/src/opencv/modules/features2d/include -I/home/ubisum/src/opencv/modules/highgui/include -I/home/ubisum/src/opencv/modules/imgproc/include -I/home/ubisum/src/opencv/modules/flann/include -I/home/ubisum/src/opencv/modules/core/include -I/home/ubisum/src/opencv/modules/line_descriptor -I/home/ubisum/src/opencv/modules/line_descriptor/src -I/home/ubisum/src/opencv/modules/line_descriptor/include -I/home/ubisum/src/opencv -isystem /usr/local/include/eigen3
CXX_FLAGS = -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mssse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -I/home/ubisum/src/opencv/modules/optim/include -I/home/ubisum/src/opencv/modules/features2d/include -I/home/ubisum/src/opencv/modules/highgui/include -I/home/ubisum/src/opencv/modules/imgproc/include -I/home/ubisum/src/opencv/modules/flann/include -I/home/ubisum/src/opencv/modules/core/include -I/home/ubisum/src/opencv/modules/line_descriptor -I/home/ubisum/src/opencv/modules/line_descriptor/src -I/home/ubisum/src/opencv/modules/line_descriptor/include -I/home/ubisum/src/opencv -isystem /usr/local/include/eigen3
CXX_DEFINES = -D__OPENCV_BUILD=1
/usr/bin/c++ -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG CMakeFiles/example_line_descriptor_lines_extraction.dir/samples/lines_extraction.cpp.o -o ../../bin/example_line_descriptor_lines_extraction -rdynamic ../../lib/libopencv_line_descriptor.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_features2d.so.3.0.0 ../../lib/libopencv_optim.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 -Wl,-rpath,/home/ubisum/src/opencv/lib
/usr/bin/c++ -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mssse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g CMakeFiles/example_line_descriptor_lines_extraction.dir/samples/lines_extraction.cpp.o -o ../../bin/example_line_descriptor_lines_extraction -rdynamic ../../lib/libopencv_line_descriptor.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_features2d.so.3.0.0 ../../lib/libopencv_optim.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 -Wl,-rpath,/home/ubisum/src/opencv/lib
......@@ -2,7 +2,7 @@
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
# compile CXX with /usr/bin/c++
CXX_FLAGS = -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG -fPIC -I/home/ubisum/src/opencv/modules/optim/include -I/home/ubisum/src/opencv/modules/features2d/include -I/home/ubisum/src/opencv/modules/highgui/include -I/home/ubisum/src/opencv/modules/imgproc/include -I/home/ubisum/src/opencv/modules/flann/include -I/home/ubisum/src/opencv/modules/core/include -I/home/ubisum/src/opencv/modules/line_descriptor -I/home/ubisum/src/opencv/modules/line_descriptor/src -I/home/ubisum/src/opencv/modules/line_descriptor/include -I/home/ubisum/src/opencv -isystem /usr/local/include/eigen3
CXX_FLAGS = -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mssse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -fPIC -I/home/ubisum/src/opencv/modules/optim/include -I/home/ubisum/src/opencv/modules/features2d/include -I/home/ubisum/src/opencv/modules/highgui/include -I/home/ubisum/src/opencv/modules/imgproc/include -I/home/ubisum/src/opencv/modules/flann/include -I/home/ubisum/src/opencv/modules/core/include -I/home/ubisum/src/opencv/modules/line_descriptor -I/home/ubisum/src/opencv/modules/line_descriptor/src -I/home/ubisum/src/opencv/modules/line_descriptor/include -I/home/ubisum/src/opencv -isystem /usr/local/include/eigen3
CXX_DEFINES = -DCVAPI_EXPORTS -D__OPENCV_BUILD=1 -DOPENCV_NOSTL
......
/usr/bin/c++ -fPIC -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG -shared -Wl,-soname,libopencv_line_descriptor.so.3.0 -o ../../lib/libopencv_line_descriptor.so.3.0.0 CMakeFiles/opencv_line_descriptor.dir/src/line_descriptor_init.cpp.o CMakeFiles/opencv_line_descriptor.dir/src/BinaryDescriptor.cpp.o CMakeFiles/opencv_line_descriptor.dir/src/precomp.cpp.o ../../lib/libopencv_core.so.3.0.0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_features2d.so.3.0.0 ../../lib/libopencv_optim.so.3.0.0 -ldl -lm -lpthread -lrt ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 -Wl,-rpath,/home/ubisum/src/opencv/lib:
/usr/bin/c++ -fPIC -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mssse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -shared -Wl,-soname,libopencv_line_descriptor.so.3.0 -o ../../lib/libopencv_line_descriptor.so.3.0.0 CMakeFiles/opencv_line_descriptor.dir/src/line_descriptor_init.cpp.o CMakeFiles/opencv_line_descriptor.dir/src/BinaryDescriptor.cpp.o CMakeFiles/opencv_line_descriptor.dir/src/precomp.cpp.o ../../lib/libopencv_core.so.3.0.0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_features2d.so.3.0.0 ../../lib/libopencv_optim.so.3.0.0 -ldl -lm -lpthread -lrt -ltbb ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 -Wl,-rpath,/home/ubisum/src/opencv/lib:
......@@ -2,7 +2,7 @@
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
# compile CXX with /usr/bin/c++
CXX_FLAGS = -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG -I/home/ubisum/src/opencv/modules/optim/include -I/home/ubisum/src/opencv/modules/features2d/include -I/home/ubisum/src/opencv/modules/highgui/include -I/home/ubisum/src/opencv/modules/imgproc/include -I/home/ubisum/src/opencv/modules/flann/include -I/home/ubisum/src/opencv/modules/core/include -I/home/ubisum/src/opencv/modules/line_descriptor -I/home/ubisum/src/opencv/modules/line_descriptor/src -I/home/ubisum/src/opencv/modules/line_descriptor/include -I/home/ubisum/src/opencv -isystem /usr/local/include/eigen3
CXX_FLAGS = -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mssse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -I/home/ubisum/src/opencv/modules/optim/include -I/home/ubisum/src/opencv/modules/features2d/include -I/home/ubisum/src/opencv/modules/highgui/include -I/home/ubisum/src/opencv/modules/imgproc/include -I/home/ubisum/src/opencv/modules/flann/include -I/home/ubisum/src/opencv/modules/core/include -I/home/ubisum/src/opencv/modules/line_descriptor -I/home/ubisum/src/opencv/modules/line_descriptor/src -I/home/ubisum/src/opencv/modules/line_descriptor/include -I/home/ubisum/src/opencv -isystem /usr/local/include/eigen3
CXX_DEFINES = -D__OPENCV_BUILD=1
......@@ -45,15 +45,15 @@ CMAKE_BINARY_DIR = /home/ubisum/src/opencv
# Include the progress variables for this target.
include modules/line_descriptor/CMakeFiles/pch_Generate_opencv_line_descriptor.dir/progress.make
modules/line_descriptor/CMakeFiles/pch_Generate_opencv_line_descriptor: modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_Release.gch
modules/line_descriptor/CMakeFiles/pch_Generate_opencv_line_descriptor: modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_RelWithDebInfo.gch
modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_Release.gch: modules/line_descriptor/src/precomp.hpp
modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_Release.gch: modules/line_descriptor/precomp.hpp
modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_Release.gch: lib/libopencv_line_descriptor_pch_dephelp.a
modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_RelWithDebInfo.gch: modules/line_descriptor/src/precomp.hpp
modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_RelWithDebInfo.gch: modules/line_descriptor/precomp.hpp
modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_RelWithDebInfo.gch: lib/libopencv_line_descriptor_pch_dephelp.a
$(CMAKE_COMMAND) -E cmake_progress_report /home/ubisum/src/opencv/CMakeFiles $(CMAKE_PROGRESS_1)
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating precomp.hpp.gch/opencv_line_descriptor_Release.gch"
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating precomp.hpp.gch/opencv_line_descriptor_RelWithDebInfo.gch"
cd /home/ubisum/src/opencv/modules/line_descriptor && /usr/bin/cmake -E make_directory /home/ubisum/src/opencv/modules/line_descriptor/precomp.hpp.gch
cd /home/ubisum/src/opencv/modules/line_descriptor && /usr/bin/c++ -O3 -DNDEBUG -DNDEBUG -fPIC -DOPENCV_NOSTL -I"/home/ubisum/src/opencv/modules/optim/include" -I"/home/ubisum/src/opencv/modules/features2d/include" -I"/home/ubisum/src/opencv/modules/highgui/include" -I"/home/ubisum/src/opencv/modules/imgproc/include" -I"/home/ubisum/src/opencv/modules/flann/include" -I"/home/ubisum/src/opencv/modules/core/include" -I"/home/ubisum/src/opencv/modules/line_descriptor" -I"/home/ubisum/src/opencv/modules/line_descriptor/src" -I"/home/ubisum/src/opencv/modules/line_descriptor/include" -isystem"/home/ubisum/src/opencv" -isystem"/usr/local/include/eigen3" -D__OPENCV_BUILD=1 -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -DCVAPI_EXPORTS -x c++-header -o /home/ubisum/src/opencv/modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_Release.gch /home/ubisum/src/opencv/modules/line_descriptor/precomp.hpp
cd /home/ubisum/src/opencv/modules/line_descriptor && /usr/bin/c++ -O2 -g -fPIC -DOPENCV_NOSTL -I"/home/ubisum/src/opencv/modules/optim/include" -I"/home/ubisum/src/opencv/modules/features2d/include" -I"/home/ubisum/src/opencv/modules/highgui/include" -I"/home/ubisum/src/opencv/modules/imgproc/include" -I"/home/ubisum/src/opencv/modules/flann/include" -I"/home/ubisum/src/opencv/modules/core/include" -I"/home/ubisum/src/opencv/modules/line_descriptor" -I"/home/ubisum/src/opencv/modules/line_descriptor/src" -I"/home/ubisum/src/opencv/modules/line_descriptor/include" -isystem"/home/ubisum/src/opencv" -isystem"/usr/local/include/eigen3" -D__OPENCV_BUILD=1 -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mssse3 -msse4.1 -msse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -DCVAPI_EXPORTS -x c++-header -o /home/ubisum/src/opencv/modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_RelWithDebInfo.gch /home/ubisum/src/opencv/modules/line_descriptor/precomp.hpp
modules/line_descriptor/precomp.hpp: modules/line_descriptor/src/precomp.hpp
$(CMAKE_COMMAND) -E cmake_progress_report /home/ubisum/src/opencv/CMakeFiles $(CMAKE_PROGRESS_2)
......@@ -61,7 +61,7 @@ modules/line_descriptor/precomp.hpp: modules/line_descriptor/src/precomp.hpp
cd /home/ubisum/src/opencv/modules/line_descriptor && /usr/bin/cmake -E copy /home/ubisum/src/opencv/modules/line_descriptor/src/precomp.hpp /home/ubisum/src/opencv/modules/line_descriptor/precomp.hpp
pch_Generate_opencv_line_descriptor: modules/line_descriptor/CMakeFiles/pch_Generate_opencv_line_descriptor
pch_Generate_opencv_line_descriptor: modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_Release.gch
pch_Generate_opencv_line_descriptor: modules/line_descriptor/precomp.hpp.gch/opencv_line_descriptor_RelWithDebInfo.gch
pch_Generate_opencv_line_descriptor: modules/line_descriptor/precomp.hpp
pch_Generate_opencv_line_descriptor: modules/line_descriptor/CMakeFiles/pch_Generate_opencv_line_descriptor.dir/build.make
.PHONY : pch_Generate_opencv_line_descriptor
......
FILE(REMOVE_RECURSE
"CMakeFiles/pch_Generate_opencv_line_descriptor"
"precomp.hpp.gch/opencv_line_descriptor_Release.gch"
"precomp.hpp.gch/opencv_line_descriptor_RelWithDebInfo.gch"
"precomp.hpp"
)
......
......@@ -139,6 +139,20 @@ depend:
cd /home/ubisum/src/opencv && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
# Convenience name for target.
modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/rule:
cd /home/ubisum/src/opencv && $(MAKE) -f CMakeFiles/Makefile2 modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/rule
.PHONY : modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/rule
# Convenience name for target.
example_line_descriptor_compute_descriptors: modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/rule
.PHONY : example_line_descriptor_compute_descriptors
# fast build rule for target.
example_line_descriptor_compute_descriptors/fast:
cd /home/ubisum/src/opencv && $(MAKE) -f modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build.make modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build
.PHONY : example_line_descriptor_compute_descriptors/fast
# Convenience name for target.
modules/line_descriptor/CMakeFiles/example_line_descriptor_lines_extraction.dir/rule:
cd /home/ubisum/src/opencv && $(MAKE) -f CMakeFiles/Makefile2 modules/line_descriptor/CMakeFiles/example_line_descriptor_lines_extraction.dir/rule
......@@ -219,6 +233,30 @@ opencv_line_descriptor_pch_dephelp.cxx.s:
cd /home/ubisum/src/opencv && $(MAKE) -f modules/line_descriptor/CMakeFiles/opencv_line_descriptor_pch_dephelp.dir/build.make modules/line_descriptor/CMakeFiles/opencv_line_descriptor_pch_dephelp.dir/opencv_line_descriptor_pch_dephelp.cxx.s
.PHONY : opencv_line_descriptor_pch_dephelp.cxx.s
samples/compute_descriptors.o: samples/compute_descriptors.cpp.o
.PHONY : samples/compute_descriptors.o
# target to build an object file
samples/compute_descriptors.cpp.o:
cd /home/ubisum/src/opencv && $(MAKE) -f modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build.make modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.o
.PHONY : samples/compute_descriptors.cpp.o
samples/compute_descriptors.i: samples/compute_descriptors.cpp.i
.PHONY : samples/compute_descriptors.i
# target to preprocess a source file
samples/compute_descriptors.cpp.i:
cd /home/ubisum/src/opencv && $(MAKE) -f modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build.make modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.i
.PHONY : samples/compute_descriptors.cpp.i
samples/compute_descriptors.s: samples/compute_descriptors.cpp.s
.PHONY : samples/compute_descriptors.s
# target to generate assembly for a file
samples/compute_descriptors.cpp.s:
cd /home/ubisum/src/opencv && $(MAKE) -f modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/build.make modules/line_descriptor/CMakeFiles/example_line_descriptor_compute_descriptors.dir/samples/compute_descriptors.cpp.s
.PHONY : samples/compute_descriptors.cpp.s
samples/lines_extraction.o: samples/lines_extraction.cpp.o
.PHONY : samples/lines_extraction.o
......@@ -322,6 +360,7 @@ help:
@echo "... clean"
@echo "... depend"
@echo "... edit_cache"
@echo "... example_line_descriptor_compute_descriptors"
@echo "... example_line_descriptor_lines_extraction"
@echo "... install"
@echo "... install/local"
......@@ -334,6 +373,9 @@ help:
@echo "... opencv_line_descriptor_pch_dephelp.o"
@echo "... opencv_line_descriptor_pch_dephelp.i"
@echo "... opencv_line_descriptor_pch_dephelp.s"
@echo "... samples/compute_descriptors.o"
@echo "... samples/compute_descriptors.i"
@echo "... samples/compute_descriptors.s"
@echo "... samples/lines_extraction.o"
@echo "... samples/lines_extraction.i"
@echo "... samples/lines_extraction.s"
......
......@@ -12,7 +12,7 @@ IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
ELSE(BUILD_TYPE)
SET(CMAKE_INSTALL_CONFIG_NAME "Release")
SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
ENDIF(BUILD_TYPE)
MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
......
Binary descriptors for lines extracted from an image
====================================================
.. highlight:: cpp
Introduction
------------
One of the most challenging activities in computer vision is the extraction of useful information from a given image. Such information, usually comes in the form of points that preserve some kind of property (for instance, they are scale-invariant) and are actually representative of input image.
The goal of this module is seeking a new kind of representative information inside an image and providing the functionalities for its extraction and representation. In particular, differently from previous methods for detection of relevant elements inside an image, lines are extracted in place of points; a new class is defined ad hoc to summarize a line's properties, for reuse and plotting purposes.
A class to represent a line: KeyLine
------------------------------------
As aformentioned, it is been necessary to design a class that fully stores the information needed to characterize completely a line and plot it on image it was extracted from, when required.
*KeyLine* class has been created for such goal; it is mainly inspired to Feature2d's KeyPoint class, since KeyLine shares some of *KeyPoint*'s fields, even if a part of them assumes a different meaning, when speaking about lines.
In particular:
* the *class_id* field is used to gather lines extracted from different octaves which refer to same line inside original image (such lines and the one they represent in original image share the same *class_id* value)
* the *angle* field represents line's slope with respect to (positive) X axis
* the *pt* field represents line's midpoint
* the *response* field is computed as the ratio between the line's length and maximum between image's width and height
* the *size* field is the area of the smallest rectangle containing line
Apart from fields inspired to KeyPoint class, KeyLines stores information about extremes of line in original image and in octave it was extracted from, about line's length and number of pixels it covers. Code relative to KeyLine class is reported in the following snippet:
.. ocv:class:: KeyLine
::
class CV_EXPORTS_W KeyLine
{
public:
/* orientation of the line */
float angle;
/* object ID, that can be used to cluster keylines by the line they represent */
int class_id;
/* octave (pyramid layer), from which the keyline has been extracted */
int octave;
/* coordinates of the middlepoint */
Point pt;
/* the response, by which the strongest keylines have been selected.
It's represented by the ratio between line's length and maximum between
image's width and height */
float response;
/* minimum area containing line */
float size;
/* lines's extremes in original image */
float startPointX;
float startPointY;
float endPointX;
float endPointY;
/* line's extremes in image it was extracted from */
float sPointInOctaveX;
float sPointInOctaveY;
float ePointInOctaveX;
float ePointInOctaveY;
/* the length of line */
float lineLength;
/* number of pixels covered by the line */
unsigned int numOfPixels;
/* constructor */
KeyLine(){}
};
Binary descriptors for lines extracted from an image
====================================================
.. highlight:: cpp
Introduction
------------
One of the most challenging activities in computer vision is the extraction of useful information from a given image. Such information, usually comes in the form of points that preserve some kind of property (for instance, they are scale-invariant) and are actually representative of input image.
The goal of this module is seeking a new kind of representative information inside an image and providing the functionalities for its extraction and representation. In particular, differently from previous methods for detection of relevant elements inside an image, lines are extracted in spite of points; a new class is defined ad hoc to summarize a line's properties, for reuse and plotting purposes.
A class to represent a line: KeyLine
------------------------------------
As aformentioned, it is been necessary to design a class that fully stores the information needed to characterize completely a line and plot it on image it was extracted from, when required.
*KeyLine* class has been created for such goal; it is mainly inspired to Feature2d's KeyPoint class, since KeyLine shares some of *KeyPoint*'s fields, even if a part of them assumes a different meaning, when speaking about lines.
In particular:
* the *class_id* field is used to gather lines extracted from different octaves which refer to same line inside original image (such lines and the one they represent in original image share the same *class_id* value)
* the *angle* field represents line's slope with respect to (positive) X axis
* the *pt* field represents line's midpoint
* the *response* field is computed as the ratio between the line's length and maximum between image's width and height
* the *size* field is the area of the smallest rectangle containing line
Apart from fields inspired to KeyPoint class, KeyLines stores information about extremes of line in original image and in octave it was extracted from, about line's length and number of pixels it covers. Code relative to KeyLine class is reported in the following snippet:
.. ocv:class:: KeyLine
::
class CV_EXPORTS_W KeyLine
{
public:
/* orientation of the line */
float angle;
/* object ID, that can be used to cluster keylines by the line they represent */
int class_id;
/* octave (pyramid layer), from which the keyline has been extracted */
int octave;
/* coordinates of the middlepoint */
Point pt;
/* the response, by which the strongest keylines have been selected.
It's represented by the ratio between line's length and maximum between
image's width and height */
float response;
/* minimum area containing line */
float size;
/* lines's extremes in original image */
float startPointX;
float startPointY;
float endPointX;
float endPointY;
/* line's extremes in image it was extracted from */
float sPointInOctaveX;
float sPointInOctaveY;
float ePointInOctaveX;
float ePointInOctaveY;
/* the length of line */
float lineLength;
/* number of pixels covered by the line */
unsigned int numOfPixels;
/* constructor */
KeyLine(){}
};
......@@ -55,9 +55,29 @@
namespace cv
{
class CV_EXPORTS_W KeyLine: public KeyPoint
class CV_EXPORTS_W KeyLine
{
public:
/* orientation of the line */
float angle;
/* object ID, that can be used to cluster keylines by the line they represent */
int class_id;
/* octave (pyramid layer), from which the keyline has been extracted */
int octave;
/* coordinates of the middlepoint */
Point pt;
/* the response, by which the strongest keylines have been selected.
It's represented by the ratio between line's length and maximum between
image's width and height */
float response;
/* minimum area containing line */
float size;
/* lines's extremes in original image */
float startPointX;
float startPointY;
......@@ -76,9 +96,11 @@ namespace cv
/* number of pixels covered by the line */
unsigned int numOfPixels;
/* constructor */
KeyLine(){}
};
class CV_EXPORTS_W BinaryDescriptor: public Feature2D
class CV_EXPORTS_W BinaryDescriptor: public Algorithm
{
public:
......@@ -91,9 +113,6 @@ namespace cv
/* the NNDR threshold for line descriptor distance, default is 0.6 */
CV_PROP_RW float NNDRThreshold;
/* the size of Gaussian kernel: ksize X ksize, default value is 5 */
CV_PROP_RW int ksize_;
/* the number of image octaves (default = 5) */
CV_PROP_RW int numOfOctave_;
......@@ -121,6 +140,8 @@ namespace cv
/* constructors with smart pointers */
static Ptr<BinaryDescriptor> createBinaryDescriptor();
static Ptr<BinaryDescriptor> createBinaryDescriptor(Params parameters);
/* destructor */
~BinaryDescriptor();
/* read parameters from a FileNode object and store them (class function ) */
......@@ -131,26 +152,22 @@ namespace cv
/* requires line detection (only one image) */
CV_WRAP void detect( const Mat& image,
CV_OUT std::vector<KeyPoint>& keypoints,
const Mat& mask=Mat() );
CV_WRAP void detectKL( const Mat& image,
CV_OUT std::vector<KeyLine>& keypoints,
const Mat& mask=Mat() );
/* requires line detection (more than one image) */
void detect( const std::vector<Mat>& images,
std::vector<std::vector<KeyPoint> >& keypoints,
std::vector<std::vector<KeyLine> >& keypoints,
const std::vector<Mat>& masks=std::vector<Mat>() ) const;
/* requires descriptors computation (only one image) */
CV_WRAP void compute( const Mat& image,
CV_OUT CV_IN_OUT std::vector<KeyPoint>& keypoints,
CV_WRAP void compute( const Mat& image,
CV_OUT CV_IN_OUT std::vector<KeyLine>& keylines,
CV_OUT Mat& descriptors ) const;
/* requires descriptors computation (more than one image) */
void compute( const std::vector<Mat>& images,
std::vector<std::vector<KeyPoint> >& keypoints,
std::vector<std::vector<KeyLine> >& keylines,
std::vector<Mat>& descriptors ) const;
/*return descriptor size */
......@@ -168,7 +185,7 @@ namespace cv
/* definition of operator (), as required by Feature2D */
CV_WRAP_AS(detectAndCompute) virtual void operator()( InputArray image,
InputArray mask,
CV_OUT std::vector<KeyPoint>& keypoints,
CV_OUT std::vector<KeyLine>& keylines,
OutputArray descriptors,
bool useProvidedKeypoints=false ) const;
......@@ -176,17 +193,13 @@ namespace cv
protected:
/* implementation of line detection */
virtual void detectImpl( const Mat& image,
std::vector<KeyPoint>& keypoints,
const Mat& mask=Mat() ) const;
virtual void detectImplKL( const Mat& image,
std::vector<KeyLine>& keypoints,
std::vector<KeyLine>& keylines,
const Mat& mask=Mat() ) const;
/* implementation of descriptors' computation */
virtual void computeImpl( const Mat& image,
std::vector<KeyPoint>& keypoints,
std::vector<KeyLine>& keylines,
Mat& descriptors ) const;
/* function inherited by Algorithm */
......
cmake_minimum_required(VERSION 2.8)
project(map_test)
find_package(OpenCV REQUIRED)
set(SOURCES lines_extraction.cpp ../src/BinaryDescriptor.cpp)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(lines_extraction ${SOURCES} ${HEADERS})
target_link_libraries(lines_extraction ${OpenCV_LIBS})
cmake_minimum_required(VERSION 2.8)
project(line_descriptor)
find_package(OpenCV REQUIRED)
set(SOURCES lines_extraction.cpp compute_descriptors.cpp ../src/BinaryDescriptor.cpp)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(lines_extraction compute_descriptors ${SOURCES} ${HEADERS})
target_link_libraries(lines_extraction compute_descriptors ${OpenCV_LIBS})
#include <opencv2/line_descriptor.hpp>
#include "opencv2/core/utility.hpp"
#include "opencv2/core/private.hpp"
#include <opencv2/imgproc.hpp>
#include <opencv2/features2d.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
static const char* keys =
{
"{@image_path | | Image path }"
};
static void help()
{
cout << "\nThis example shows the functionalities of lines extraction " <<
"and descriptors computation furnished by BinaryDescriptor class\n" <<
"Please, run this sample using a command in the form\n" <<
"./example_line_descriptor_compute_descriptors <path_to_input_image>" << endl;
}
inline void writeMat(cv::Mat m, std::string name, int n)
{
std::stringstream ss;
std::string s;
ss << n;
ss >> s;
std::string fileNameConf = name + s;
cv::FileStorage fsConf(fileNameConf, cv::FileStorage::WRITE);
fsConf << "m" << m;
fsConf.release();
}
int main( int argc, char** argv )
{
/* get parameters from comand line */
CommandLineParser parser( argc, argv, keys );
String image_path = parser.get<String>( 0 );
if(image_path.empty())
{
help();
return -1;
}
/* load image */
cv::Mat imageMat = imread(image_path, 0);
if(imageMat.data == NULL)
{
std::cout << "Error, image could not be loaded. Please, check its path" << std::endl;
}
/* create a random binary mask */
// cv::Mat mask(imageMat.size(), CV_8UC1);
// cv::randu(mask, Scalar::all(0), Scalar::all(1));
cv::Mat mask = Mat::ones(imageMat.size(), CV_8UC1);
/* create a pointer to a BinaryDescriptor object with default parameters */
Ptr<BinaryDescriptor> bd = BinaryDescriptor::createBinaryDescriptor();
/* compute lines */
std::vector<KeyLine> keylines;
bd->detect(imageMat, keylines, mask);
std::vector<KeyLine> octave0;
for(size_t i = 0; i<keylines.size(); i++)
{
if(keylines[i].octave == 0)
octave0.push_back(keylines[i]);
}
/* compute descriptors */
cv::Mat descriptors;
bd->compute(imageMat, octave0, descriptors);
writeMat(descriptors, "old_code", 0);
}
#include <opencv2/line_descriptor.hpp>
#include "opencv2/core/utility.hpp"
#include "opencv2/core/private.hpp"
#include <opencv2/imgproc.hpp>
......@@ -18,6 +17,14 @@ static const char* keys =
};
static void help()
{
cout << "\nThis example shows the functionalities of lines extraction " <<
"furnished by BinaryDescriptor class\n" <<
"Please, run this sample using a command in the form\n" <<
"./example_line_descriptor_lines_extraction <path_to_input_image>" << endl;
}
int main( int argc, char** argv )
{
/* get parameters from comand line */
......@@ -26,7 +33,7 @@ int main( int argc, char** argv )
if(image_path.empty())
{
// help();
help();
return -1;
}
......@@ -49,7 +56,7 @@ int main( int argc, char** argv )
vector<KeyLine> lines;
/* extract lines */
bd->detectKL(imageMat, lines, mask);
bd->detect(imageMat, lines, mask);
/* draw lines extracted from octave 0 */
cv::Mat output = imageMat.clone();
......@@ -70,9 +77,6 @@ int main( int argc, char** argv )
/* draw line */
line(output, pt1, pt2, Scalar(B,G,R), 5);
std::cout << "Dati linea" << " " << kl.startPointX << " " <<
kl.startPointY << " " << kl.endPointX << " " <<
kl.endPointY << " " << kl.lineLength << std::endl;
}
}
......
......@@ -51,13 +51,11 @@ static const int combinations [32][2] = {{0,1},{0,2},{0,3},{0,4},{0,5},{0,6},{1,
{2,8},{3,4},{3,5},{3,6},{3,7},{3,8},{4,5},{4,6},
{4,7},{4,8},{5,6},{5,7},{5,8},{6,7},{6,8},{7,8}};
/* return default parameters */
BinaryDescriptor::Params::Params()
{
LowestThreshold = 0.35;
NNDRThreshold = 0.6;
ksize_ = 5;
numOfOctave_ = 1;
numOfBand_ = 9;
widthOfBand_ = 7;
......@@ -70,7 +68,6 @@ void BinaryDescriptor::Params::read(const cv::FileNode& fn )
{
LowestThreshold = fn["LowestThreshold"];
NNDRThreshold = fn["NNDRThreshold"];
ksize_ = fn["ksize_"];
numOfOctave_ = fn["numOfOctave_"];
numOfBand_ = fn["numOfBand_"];
widthOfBand_ = fn["widthOfBand_"];
......@@ -82,7 +79,6 @@ void BinaryDescriptor::Params::write(cv::FileStorage& fs) const
{
fs << "LowestThreshold" << LowestThreshold;
fs << "NNDRThreshold" << NNDRThreshold;
fs << "ksize_" << ksize_;
fs << "numOfOctave_" << numOfOctave_;
fs << "numOfBand_" << numOfBand_;
fs << "widthOfBand_" << widthOfBand_;
......@@ -140,7 +136,7 @@ BinaryDescriptor::BinaryDescriptor(const BinaryDescriptor::Params &parameters) :
/* definition of operator () inherited from Feature2D class */
void BinaryDescriptor::operator()( InputArray image,
InputArray mask,
CV_OUT std::vector<KeyPoint>& keypoints,
CV_OUT std::vector<KeyLine>& keylines,
OutputArray descriptors,
bool useProvidedKeypoints) const
{
......@@ -153,17 +149,17 @@ void BinaryDescriptor::operator()( InputArray image,
maskMat = mask.getMat();
/* initialize output matrix */
descriptors.create(Size(32, keypoints.size()), CV_8UC1);
descriptors.create(Size(32, keylines.size()), CV_8UC1);
/* store reference to output matrix */
descrMat = descriptors.getMat();
/* require drawing KeyLines detection if demanded */
if(!useProvidedKeypoints)
detectImpl(imageMat, keypoints, maskMat);
detectImpl(imageMat, keylines, maskMat);
/* compute descriptors */
computeImpl(imageMat, keypoints, descrMat);
computeImpl(imageMat, keylines, descrMat);
}
BinaryDescriptor::~BinaryDescriptor(){}
......@@ -217,7 +213,7 @@ static inline int get2Pow(int i) {
}
}
/* conversion of an LBD descriptor to its binary representation */
/* utility function for conversion of an LBD descriptor to its binary representation */
unsigned char BinaryDescriptor::binaryConversion(float* f1, float* f2)
{
uchar result = 0;
......@@ -244,7 +240,7 @@ void BinaryDescriptor::getLineParameters(cv::Vec4i& line_extremes, cv::Vec3i& li
{
lineParams[0] = 1;
lineParams[1] = 0;
lineParams[2] = x1 /* or -x2 */;
lineParams[2] = x1 /* or x2 */;
}
/* line is parallel to X axis */
......@@ -252,7 +248,7 @@ void BinaryDescriptor::getLineParameters(cv::Vec4i& line_extremes, cv::Vec3i& li
{
lineParams[0] = 0;
lineParams[1] = 1;
lineParams[2] = y1 /* or -y2 */;
lineParams[2] = y1 /* or y2 */;
}
/* line is not parallel to any axis */
......@@ -276,16 +272,7 @@ float BinaryDescriptor::getLineDirection(cv::Vec3i &lineParams)
/* line is not parallel to any axis */
else
{
/* compute angular coefficient */
float m = -lineParams[0]/lineParams[1];
if(m>0)
return atan(m);
else
return -atan(m);
}
return atan2(-lineParams[0], lineParams[1]);
}
......@@ -298,6 +285,7 @@ void BinaryDescriptor::computeGaussianPyramid(const Mat& image)
/* insert input image into pyramid */
cv::Mat currentMat = image.clone();
cv::GaussianBlur(currentMat, currentMat, cv::Size(5, 5), 1);
octaveImages.push_back(currentMat);
images_sizes.push_back(currentMat.size());
......@@ -305,48 +293,37 @@ void BinaryDescriptor::computeGaussianPyramid(const Mat& image)
for(int pyrCounter = 1; pyrCounter<params.numOfOctave_; pyrCounter++)
{
/* compute and store next image in pyramid and its size */
cv::Mat localMat;
pyrDown( currentMat, localMat,
pyrDown( currentMat, currentMat,
Size( currentMat.cols/params.reductionRatio,
currentMat.rows/params.reductionRatio ));
octaveImages.push_back(localMat);
images_sizes.push_back(localMat.size());
currentMat = localMat.clone();
octaveImages.push_back(currentMat);
images_sizes.push_back(currentMat.size());
}
}
/* requires line detection (only one image) */
void BinaryDescriptor::detect( const Mat& image,
CV_OUT std::vector<KeyPoint>& keypoints,
const Mat& mask)
{
/* invoke KeyLines detection */
detectImpl(image, keypoints, mask);
}
void BinaryDescriptor::detectKL( const Mat& image,
CV_OUT std::vector<KeyLine>& keypoints,
CV_OUT std::vector<KeyLine>& keylines,
const Mat& mask )
{
detectImplKL(image, keypoints, mask);
detectImpl(image, keylines, mask);
}
/* requires line detection (more than one image) */
void BinaryDescriptor::detect( const std::vector<Mat>& images,
std::vector<std::vector<KeyPoint> >& keypoints,
std::vector<std::vector<KeyLine> >& keylines,
const std::vector<Mat>& masks ) const
{
/* detect lines from each image */
for(size_t counter = 0; counter<images.size(); counter++)
{
detectImpl(images[counter],keypoints[counter], masks[counter]);
detectImpl(images[counter],keylines[counter], masks[counter]);
}
}
void BinaryDescriptor::detectImplKL( const Mat& image,
std::vector<KeyLine>& keypoints,
void BinaryDescriptor::detectImpl( const Mat& image,
std::vector<KeyLine>& keylines,
const Mat& mask ) const
{
......@@ -367,7 +344,6 @@ void BinaryDescriptor::detectImplKL( const Mat& image,
ScaleLines sl;
bn->OctaveKeyLines(sl);
/* fill KeyLines vector */
for(int i = 0; i<(int)sl.size(); i++)
{
......@@ -401,121 +377,57 @@ void BinaryDescriptor::detectImplKL( const Mat& image,
(osl.endPointY + osl.startPointY)/2);
/* store KeyLine */
keypoints.push_back(kl);
keylines.push_back(kl);
}
}
}
void BinaryDescriptor::detectImpl( const Mat& image, std::vector<KeyPoint>& keypoints,
const Mat& mask) const
{
/*check whether image depth is different from 0 */
if(image.depth() != 0)
/* delete undesired KeyLines, according to input mask */
for(size_t keyCounter = 0; keyCounter<keylines.size(); keyCounter++)
{
std::cout << "Warning, depth image!= 0" << std::endl;
CV_Assert(false);
KeyLine kl = keylines[keyCounter];
if(mask.at<uchar>(kl.startPointX, kl.startPointY) == 0 &&
mask.at<uchar>(kl.endPointX, kl.endPointY) == 0)
keylines.erase(keylines.begin() + keyCounter);
}
/* create a pointer to self */
BinaryDescriptor *bn = const_cast<BinaryDescriptor*>(this);
/* compute Gaussian pyramid */
bn->computeGaussianPyramid(image);
/* detect and arrange lines across octaves */
ScaleLines sl;
bn->OctaveKeyLines(sl);
/* fill KeyLines vector */
for(int i = 0; i<(int)sl.size(); i++)
{
for(size_t j = 0; j<sl[i].size(); j++)
{
/* get current line */
OctaveSingleLine osl = sl[i][j];
/* create a KeyLine object */
KeyLine kl;
/* fill KeyLine's fields */
kl.startPointX = osl.startPointX;
kl.startPointY = osl.startPointY;
kl.endPointX = osl.endPointX;
kl.endPointY = osl.endPointY;
kl.sPointInOctaveX = osl.sPointInOctaveX;
kl.sPointInOctaveY = osl.sPointInOctaveY;
kl.ePointInOctaveX = osl.ePointInOctaveX;
kl.ePointInOctaveY = osl.ePointInOctaveY;
kl.lineLength = osl.lineLength;
kl.numOfPixels = osl.numOfPixels;
kl.angle = osl.direction;
kl.class_id = i;
kl.octave = osl.octaveCount;
kl.size = (osl.endPointX - osl.startPointX)*(osl.endPointY - osl.startPointY);
kl.response = osl.lineLength/max(images_sizes[osl.octaveCount].width,
images_sizes[osl.octaveCount].height);
kl.pt = Point((osl.endPointX + osl.startPointX)/2,
(osl.endPointY + osl.startPointY)/2);
/* store KeyLine */
keypoints.push_back(kl);
}
}
/* delete undesired KeyLines, according to input mask */
// for(size_t keyCounter = 0; keyCounter<keypoints.size(); keyCounter++)
// {
// KeyLine *kl = static_cast<KeyLine*>(&keypoints[keyCounter]);
// std::cout << (mask.size()).height << " " << (mask.size()).width << " " <<
// kl->startPointX << " " << kl->startPointY << " " <<
// kl->endPointX << " " << kl->endPointY << std::endl;
// if(mask.at<uchar>(kl->startPointX, kl->startPointY) == 0 &&
// mask.at<uchar>(kl->endPointX, kl->endPointY) == 0)
// keypoints.erase(keypoints.begin() + keyCounter);
// }
}
/* requires descriptors computation (only one image) */
void BinaryDescriptor::compute( const Mat& image,
CV_OUT CV_IN_OUT std::vector<KeyPoint>& keypoints,
CV_OUT Mat& descriptors ) const
CV_OUT CV_IN_OUT std::vector<KeyLine>& keylines,
CV_OUT Mat& descriptors ) const
{
computeImpl(image, keypoints, descriptors);
computeImpl(image, keylines, descriptors);
}
/* requires descriptors computation (more than one image) */
void BinaryDescriptor::compute( const std::vector<Mat>& images,
std::vector<std::vector<KeyPoint> >& keypoints,
std::vector<std::vector<KeyLine> >& keylines,
std::vector<Mat>& descriptors ) const
{
for(size_t i = 0; i<images.size(); i++)
computeImpl(images[i], keypoints[i], descriptors[i]);
computeImpl(images[i], keylines[i], descriptors[i]);
}
/* implementation of descriptors computation */
void BinaryDescriptor::computeImpl( const Mat& image,
std::vector<KeyPoint>& keypoints,
Mat& descriptors ) const
std::vector<KeyLine>& keylines,
Mat& descriptors ) const
{
/*check whether image depth is different from 0 */
/*check whether image's depth is different from 0 */
if(image.depth() != 0)
{
std::cout << "Warning, depth image!= 0" << std::endl;
std::cout << "Error, depth of image != 0" << std::endl;
CV_Assert(false);
}
/* keypoints list can't be empty */
if(keypoints.size() == 0)
if(keylines.size() == 0)
{
std::cout << "Error: keypoint list is empty" << std::endl;
return;
......@@ -523,10 +435,10 @@ void BinaryDescriptor::computeImpl( const Mat& image,
/* get maximum class_id */
int numLines = 0;
for(size_t l = 0; l<keypoints.size(); l++)
for(size_t l = 0; l<keylines.size(); l++)
{
if(keypoints[l].class_id > numLines)
numLines = keypoints[l].class_id;
if(keylines[l].class_id > numLines)
numLines = keylines[l].class_id;
}
/* create a ScaleLines object */
......@@ -540,42 +452,34 @@ void BinaryDescriptor::computeImpl( const Mat& image,
std::map<std::pair<int, int>, int> correspondences;
/* fill ScaleLines object */
for(size_t slCounter = 0; slCounter<keypoints.size(); slCounter++)
for(size_t slCounter = 0; slCounter<keylines.size(); slCounter++)
{
std::string classType = typeid(keypoints[slCounter]).name();
if(classType.compare("KeyLine") != 0)
{
std::cout << "Error: one or more element in KeyPoint input vector " <<
"don't belong to KeyLine class" << std::endl;
return;
}
/* get a pointer to a KeyLine object and create a new line */
KeyPoint *kp = &(keypoints[slCounter]);
KeyLine *kl = static_cast<KeyLine*>(kp);
/* get a KeyLine object and create a new line */
KeyLine kl = keylines[slCounter];
OctaveSingleLine osl;
/* insert data in newly created line */
osl.startPointX = (*kl).startPointX;
osl.startPointY = (*kl).startPointY;
osl.endPointX = (*kl).endPointX;
osl.endPointY = (*kl).endPointY;
osl.sPointInOctaveX = (*kl).sPointInOctaveX;
osl.sPointInOctaveY = (*kl).sPointInOctaveY;
osl.ePointInOctaveX = (*kl).ePointInOctaveX;
osl.ePointInOctaveY = (*kl).ePointInOctaveY;
osl.lineLength = (*kl).lineLength;
osl.numOfPixels = (*kl).numOfPixels;
osl.direction = (*kl).angle;
osl.octaveCount = (*kl).octave;
osl.startPointX = kl.startPointX;
osl.startPointY = kl.startPointY;
osl.endPointX = kl.endPointX;
osl.endPointY = kl.endPointY;
osl.sPointInOctaveX = kl.sPointInOctaveX;
osl.sPointInOctaveY = kl.sPointInOctaveY;
osl.ePointInOctaveX = kl.ePointInOctaveX;
osl.ePointInOctaveY = kl.ePointInOctaveY;
osl.lineLength = kl.lineLength;
osl.numOfPixels = kl.numOfPixels;
osl.salience = kl.response;
osl.direction = kl.angle;
osl.octaveCount = kl.octave;
/* store new line */
sl[(*kl).class_id][(*kl).octave] = osl;
sl[kl.class_id][kl.octave] = osl;
/* update map */
int id = (*kl).class_id;
int oct = (*kl).octave;
int id = kl.class_id;
int oct = kl.octave;
correspondences.insert(std::pair<std::pair<int,int>, int>(std::pair<int,int>(id, oct),
slCounter));
}
......@@ -605,6 +509,9 @@ void BinaryDescriptor::computeImpl( const Mat& image,
for(size_t sobelCnt = 0; sobelCnt<octaveImages.size(); sobelCnt++)
{
bn->dxImg_vector[sobelCnt].create(images_sizes[sobelCnt].height, images_sizes[sobelCnt].width, CV_16SC1);
bn->dyImg_vector[sobelCnt].create(images_sizes[sobelCnt].height, images_sizes[sobelCnt].width, CV_16SC1);
cv::Sobel( octaveImages[sobelCnt], bn->dxImg_vector[sobelCnt], CV_16SC1, 1, 0, 3);
cv::Sobel( octaveImages[sobelCnt], bn->dyImg_vector[sobelCnt], CV_16SC1, 0, 1, 3);
}
......@@ -613,7 +520,7 @@ void BinaryDescriptor::computeImpl( const Mat& image,
bn->computeLBD(sl);
/* resize output matrix */
descriptors = cv::Mat(keypoints.size(), 32, CV_8UC1);
descriptors = cv::Mat(keylines.size(), 32, CV_8UC1);
/* fill output matrix with descriptors */
for(size_t k = 0; k<sl.size(); k++)
......@@ -637,10 +544,10 @@ void BinaryDescriptor::computeImpl( const Mat& image,
pointerToRow++;
}
}
}
}
......@@ -648,7 +555,6 @@ void BinaryDescriptor::computeImpl( const Mat& image,
int BinaryDescriptor::OctaveKeyLines(ScaleLines &keyLines)
{
/* final number of extracted lines */
unsigned int numOfFinalLine = 0;
......@@ -672,7 +578,6 @@ int BinaryDescriptor::OctaveKeyLines(ScaleLines &keyLines)
/* update lines counter */
numOfFinalLine += lines_std.size();
}
/* prepare a vector to store octave information associated to extracted lines */
......@@ -764,7 +669,7 @@ int BinaryDescriptor::OctaveKeyLines(ScaleLines &keyLines)
/* loop over the octave representations of all lines */
for(unsigned int lineNextId=0; lineNextId<numOfFinalLine;lineNextId++)
{
/* if a line from same octave is encountered,
/* if a line from same octave is encountered,
a comparison with it shouldn't be considered */
octaveID = octaveLines[lineNextId].octaveCount;
if(octaveID==octaveCount)
......@@ -894,19 +799,18 @@ int BinaryDescriptor::OctaveKeyLines(ScaleLines &keyLines)
cv::Vec3i tempParams;
getLineParameters(extractedLines[octaveID][lineIDInOctave], tempParams);
direction = getLineDirection(tempParams);
singleLine.octaveCount = octaveID;
singleLine.direction = direction;
singleLine.lineLength = octaveLines[lineID].lineLength;
//decide the start point and end point
// decide the start point and end point
shouldChange = false;
s1 = (extractedLines[octaveID][lineIDInOctave])[0];//sx
s2 = (extractedLines[octaveID][lineIDInOctave])[1];//sy
e1 = (extractedLines[octaveID][lineIDInOctave])[2];//ex
e2 = (extractedLines[octaveID][lineIDInOctave])[3];//ey
dx = e1 - s1;//ex-sx
dy = e2 - s2;//ey-sy
......@@ -929,7 +833,8 @@ int BinaryDescriptor::OctaveKeyLines(ScaleLines &keyLines)
tempValue = scale[octaveID];
if(shouldChange){
if(shouldChange)
{
singleLine.sPointInOctaveX = e1;
singleLine.sPointInOctaveY = e2;
singleLine.ePointInOctaveX = s1;
......@@ -938,9 +843,10 @@ int BinaryDescriptor::OctaveKeyLines(ScaleLines &keyLines)
singleLine.startPointY = tempValue * e2;
singleLine.endPointX = tempValue * s1;
singleLine.endPointY = tempValue * s2;
}
}
else{
else
{
singleLine.sPointInOctaveX = s1;
singleLine.sPointInOctaveY = s2;
singleLine.ePointInOctaveX = e1;
......@@ -949,8 +855,10 @@ int BinaryDescriptor::OctaveKeyLines(ScaleLines &keyLines)
singleLine.startPointY = tempValue * s2;
singleLine.endPointX = tempValue * e1;
singleLine.endPointY = tempValue * e2;
}
}
singleLine.direction = atan2((singleLine.endPointY-singleLine.startPointY),
(singleLine.endPointX-singleLine.startPointX));
tempID = octaveLines[lineID].lineIDInScaleLineVec;
......@@ -964,7 +872,6 @@ int BinaryDescriptor::OctaveKeyLines(ScaleLines &keyLines)
/* store line */
keyLines[tempID].push_back(singleLine);
}
delete [] scale;
......@@ -1101,16 +1008,26 @@ int BinaryDescriptor::computeLBD(ScaleLines &keyLines)
dy = pdyImg[yCor*realWidth+xCor];
gDL = dx * dL[0] + dy * dL[1];
gDO = dx * dO[0] + dy * dO[1];
if(gDL>0){
if(gDL>0)
{
pgdLRowSum += gDL;
}else{
}
else
{
ngdLRowSum -= gDL;
}
if(gDO>0){
if(gDO>0)
{
pgdORowSum += gDO;
}else{
}
else
{
ngdORowSum -= gDO;
}
sCorX +=dL[0];
sCorY +=dL[1];
/* gDLMat[hID][wID] = gDL; */
......@@ -1129,7 +1046,7 @@ int BinaryDescriptor::computeLBD(ScaleLines &keyLines)
/* compute {g_dL |g_dL>0 }, {g_dL |g_dL<0 },
{g_dO |g_dO>0 }, {g_dO |g_dO<0 } of each band in the line support region
first, current row belong to current band */
first, current row belongs to current band */
bandID = hID/params.widthOfBand_;
coefInGaussion = gaussCoefL_[hID%params.widthOfBand_+params.widthOfBand_];
pgdLBandSum[bandID] += coefInGaussion * pgdLRowSum;
......@@ -1156,6 +1073,7 @@ int BinaryDescriptor::computeLBD(ScaleLines &keyLines)
pgdO2BandSum[bandID] += coefInGaussion * coefInGaussion * pgdO2RowSum;
ngdO2BandSum[bandID] += coefInGaussion * coefInGaussion * ngdO2RowSum;
}
bandID = bandID+2;
if(bandID<params.numOfBand_){/*the band below the current band */
coefInGaussion = gaussCoefL_[hID%params.widthOfBand_];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment