Browse Source

Re-enable line_descriptor module.

pull/348/merge
Canming Huang 5 years ago
parent
commit
996b03e5c4
  1. 5
      CMakeLists.txt
  2. 3
      Emgu.CV.Contrib/LineDescriptor/BinaryDescriptor.cs
  3. 4
      Emgu.CV.Contrib/LineDescriptor/LSDDetector.cs
  4. 3
      Emgu.CV.Contrib/LineDescriptor/MKeyLine.cs
  5. 10
      Emgu.CV.Extern/CMakeLists.txt
  6. 13
      Emgu.CV.Extern/cmake/VectorOfStruct.cs.in
  7. 6
      Emgu.CV.Extern/cmake/vectorOfStruct_c.cpp.in
  8. 4
      Emgu.CV.Extern/cmake/vectorOfStruct_c.h.in
  9. 14
      Emgu.CV.Extern/core/core_c.cpp
  10. 3
      Emgu.CV.Extern/line_descriptor/line_descriptor_c.cpp
  11. 4
      Emgu.CV.Extern/line_descriptor/line_descriptor_c.h
  12. 2
      opencv_contrib

5
CMakeLists.txt

@ -890,14 +890,14 @@ ADD_SUBDIRECTORY(${OPENCV_SUBFOLDER})
SET(CMAKE_SOURCE_DIR ${CMAKE_OLD_SOURCE_DIR})
SET (OPENCV_MODULE_NAME_CANDIDATES
core hal imgproc video flann ml imgcodecs videoio highgui objdetect features2d calib3d
core imgproc video flann ml imgcodecs videoio highgui objdetect features2d calib3d
cudaarithm cudawarping cudafilters cudaimgproc cudalegacy cudaoptflow
cudastereo cudabgsegm cudafeatures2d cudacodec cudaobjdetect
photo superres
videostab shape
cudev
face ximgproc xobjdetect xfeatures2d xphoto bgsegm optflow
stitching latentsvm plot
stitching plot
dnn dnn_objdetect dnn_superres aruco fuzzy viz bioinspired text tracking
dpm
saliency
@ -912,6 +912,7 @@ SET (OPENCV_MODULE_NAME_CANDIDATES
alphamat
intensity_transform
rapid
line_descriptor
mcc
hdf
)

3
Emgu.CV.Contrib/LineDescriptor/BinaryDescriptor.cs

@ -2,8 +2,6 @@
// Copyright (C) 2004-2020 by EMGU Corporation. All rights reserved.
//----------------------------------------------------------------------------
/*
using System;
using System.Collections.Generic;
using System.Text;
@ -98,4 +96,3 @@ namespace Emgu.CV.LineDescriptor
internal static extern void cveLineDescriptorBinaryDescriptorRelease(ref IntPtr sharedPtr);
}
}
*/

4
Emgu.CV.Contrib/LineDescriptor/LSDDetector.cs

@ -2,7 +2,7 @@
// Copyright (C) 2004-2020 by EMGU Corporation. All rights reserved.
//----------------------------------------------------------------------------
/*
using System;
using System.Collections.Generic;
using System.Text;
@ -65,4 +65,4 @@ namespace Emgu.CV.LineDescriptor
internal static extern void cveLineDescriptorLSDDetectorRelease(ref IntPtr sharedPtr);
}
}*/
}

3
Emgu.CV.Contrib/LineDescriptor/MKeyLine.cs

@ -2,7 +2,7 @@
// Copyright (C) 2004-2020 by EMGU Corporation. All rights reserved.
//----------------------------------------------------------------------------
/*
using System;
using System.Collections.Generic;
using System.Text;
@ -99,4 +99,3 @@ namespace Emgu.CV.LineDescriptor
}
}
*/

10
Emgu.CV.Extern/CMakeLists.txt

@ -11,7 +11,7 @@ INCLUDE_DIRECTORIES("${OPENCV_SUBFOLDER}/include/opencv")
INCLUDE_DIRECTORIES("${OPENCV_SUBFOLDER}/include")
INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/opencv/3rdparty/zlib")
MACRO(CREATE_VECTOR_CS vname velement velement_cs element_type cs_source_folder namespace_cs cs_compilation_condition additional_c_header additional_c_code c_compilation_condition)
MACRO(CREATE_VECTOR_CS vname velement velement_cs element_type cs_source_folder namespace_cs cs_compilation_condition additional_c_header additional_c_code c_compilation_condition )
SET(VECTOR_NAME ${vname})
SET(VECTOR_ELEMENT ${velement})
SET(VECTOR_ELEMENT_CS ${velement_cs})
@ -48,6 +48,12 @@ MACRO(CREATE_VECTOR_CS vname velement velement_cs element_type cs_source_folder
#ENDIF()
if (${element_type} STREQUAL "struct")
SET(IS_INPUT_OUTPUT_ARRAY true)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/vectorOfStruct_c.h.in ${CMAKE_CURRENT_SOURCE_DIR}/vector_${VECTOR_NAME}.h)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/vectorOfStruct_c.cpp.in ${CMAKE_CURRENT_SOURCE_DIR}/vector_${VECTOR_NAME}.cpp)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/VectorOfStruct.cs.in ${cs_source_folder}/VectorOf${VECTOR_NAME}.cs)
ELSEIF(${element_type} STREQUAL "struct_not_array")
SET(IS_INPUT_OUTPUT_ARRAY false)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/vectorOfStruct_c.h.in ${CMAKE_CURRENT_SOURCE_DIR}/vector_${VECTOR_NAME}.h)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/vectorOfStruct_c.cpp.in ${CMAKE_CURRENT_SOURCE_DIR}/vector_${VECTOR_NAME}.cpp)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/VectorOfStruct.cs.in ${cs_source_folder}/VectorOf${VECTOR_NAME}.cs)
@ -86,7 +92,7 @@ CREATE_VECTOR_CS("ERStat" "cv::text::ERStat" "MCvERStat" "struct" "${CMAKE_CURRE
CREATE_VECTOR_CS("VectorOfERStat" "std::vector< cv::text::ERStat >" "MCvERStat" "vector" "${CMAKE_CURRENT_SOURCE_DIR}/../Emgu.CV.Contrib/Text" Emgu.CV.Text "" "#include \"opencv2/text/erfilter.hpp\"" "" "defined(HAVE_OPENCV_TEXT)")
#IF(HAVE_opencv_line_descriptor)
# CREATE_VECTOR_CS("KeyLine" "cv::line_descriptor::KeyLine" "MKeyLine" "struct" "${CMAKE_CURRENT_SOURCE_DIR}/../Emgu.CV.Contrib/LineDescriptor" Emgu.CV.LineDescriptor "" "#include \"opencv2/line_descriptor.hpp\"")
CREATE_VECTOR_CS("KeyLine" "cv::line_descriptor::KeyLine" "MKeyLine" "struct_not_array" "${CMAKE_CURRENT_SOURCE_DIR}/../Emgu.CV.Contrib/LineDescriptor" Emgu.CV.LineDescriptor "" "#include \"opencv2/line_descriptor.hpp\"" "" "defined(HAVE_OPENCV_LINE_DESCRIPTOR)")
#ENDIF()
CREATE_VECTOR_CS("ColorPoint" "ColorPoint" "ColorPoint" "struct" "${CMAKE_CURRENT_SOURCE_DIR}/../Emgu.CV/Util" Emgu.CV.Util "" "#include \"videoio_c_extra.h\"" "" "defined(HAVE_OPENCV_VIDEOIO)")

13
Emgu.CV.Extern/cmake/VectorOfStruct.cs.in

@ -24,7 +24,10 @@ namespace ${NAMESPACE_CS}
/// </summary>
[Serializable]
[DebuggerTypeProxy(typeof(VectorOf${VECTOR_NAME}.DebuggerProxy))]
public partial class VectorOf${VECTOR_NAME} : Emgu.Util.UnmanagedObject, IInputOutputArray, ISerializable
public partial class VectorOf${VECTOR_NAME} : Emgu.Util.UnmanagedObject, ISerializable
#if ${IS_INPUT_OUTPUT_ARRAY}
, IInputOutputArray
#endif
{
private readonly bool _needDispose;
@ -181,8 +184,9 @@ namespace ${NAMESPACE_CS}
VectorOf${VECTOR_NAME}Release(ref _ptr);
}
#if ${IS_INPUT_OUTPUT_ARRAY}
/// <summary>
/// Get the pointer to cv::_InputArray
/// Get the data as InputArray
/// </summary>
/// <returns>The input array </returns>
public InputArray GetInputArray()
@ -191,7 +195,7 @@ namespace ${NAMESPACE_CS}
}
/// <summary>
/// Get the pointer to cv::_OutputArray
/// Get the data as OutputArray
/// </summary>
/// <returns>The output array </returns>
public OutputArray GetOutputArray()
@ -200,13 +204,14 @@ namespace ${NAMESPACE_CS}
}
/// <summary>
/// Get the pointer to cv::_InputOutputArray
/// Get the data as InputOutputArray
/// </summary>
/// <returns>The input output array </returns>
public InputOutputArray GetInputOutputArray()
{
return new InputOutputArray( cveInputOutputArrayFromVectorOf${VECTOR_NAME}(_ptr), this );
}
#endif
/// <summary>
/// The size of the item in this Vector, counted as size in bytes.

6
Emgu.CV.Extern/cmake/vectorOfStruct_c.cpp.in

@ -76,6 +76,7 @@ void VectorOf${VECTOR_NAME}GetItemPtr(std::vector< ${VECTOR_ELEMENT} >* vec, in
*element = &vec->at(index);
}
#if ${IS_INPUT_OUTPUT_ARRAY}
cv::_InputArray* cveInputArrayFromVectorOf${VECTOR_NAME}(std::vector< ${VECTOR_ELEMENT} >* vec)
{
return new cv::_InputArray(*vec);
@ -90,6 +91,7 @@ cv::_InputOutputArray* cveInputOutputArrayFromVectorOf${VECTOR_NAME}(std::vector
{
return new cv::_InputOutputArray(*vec);
}
#endif
int VectorOf${VECTOR_NAME}SizeOfItemInBytes()
{
@ -158,6 +160,7 @@ void VectorOf${VECTOR_NAME}GetItemPtr(void* vec, int index, void** element)
CV_Error(cv::Error::StsBadFunc, "The library is compiled without VectorOf${VECTOR_NAME} support");
}
#if ${IS_INPUT_OUTPUT_ARRAY}
cv::_InputArray* cveInputArrayFromVectorOf${VECTOR_NAME}(void* vec)
{
CV_Error(cv::Error::StsBadFunc, "The library is compiled without VectorOf${VECTOR_NAME} support");
@ -172,7 +175,8 @@ cv::_InputOutputArray* cveInputOutputArrayFromVectorOf${VECTOR_NAME}(void* vec)
{
CV_Error(cv::Error::StsBadFunc, "The library is compiled without VectorOf${VECTOR_NAME} support");
}
#endif
int VectorOf${VECTOR_NAME}SizeOfItemInBytes()
{
CV_Error(cv::Error::StsBadFunc, "The library is compiled without VectorOf${VECTOR_NAME} support");

4
Emgu.CV.Extern/cmake/vectorOfStruct_c.h.in

@ -47,11 +47,13 @@ CVAPI(void) VectorOf${VECTOR_NAME}GetItem(std::vector< ${VECTOR_ELEMENT} >* vec
CVAPI(void) VectorOf${VECTOR_NAME}GetItemPtr(std::vector< ${VECTOR_ELEMENT} >* vec, int index, ${VECTOR_ELEMENT}** element);
#if ${IS_INPUT_OUTPUT_ARRAY}
CVAPI(cv::_InputArray*) cveInputArrayFromVectorOf${VECTOR_NAME}(std::vector< ${VECTOR_ELEMENT} >* vec);
CVAPI(cv::_OutputArray*) cveOutputArrayFromVectorOf${VECTOR_NAME}(std::vector< ${VECTOR_ELEMENT} >* vec);
CVAPI(cv::_InputOutputArray*) cveInputOutputArrayFromVectorOf${VECTOR_NAME}(std::vector< ${VECTOR_ELEMENT} >* vec);
#endif
CVAPI(int) VectorOf${VECTOR_NAME}SizeOfItemInBytes();
@ -81,11 +83,13 @@ CVAPI(void) VectorOf${VECTOR_NAME}GetItem(void* vec, int index, void* element);
CVAPI(void) VectorOf${VECTOR_NAME}GetItemPtr(void* vec, int index, void** element);
#if ${IS_INPUT_OUTPUT_ARRAY}
CVAPI(cv::_InputArray*) cveInputArrayFromVectorOf${VECTOR_NAME}(void* vec);
CVAPI(cv::_OutputArray*) cveOutputArrayFromVectorOf${VECTOR_NAME}(void* vec);
CVAPI(cv::_InputOutputArray*) cveInputOutputArrayFromVectorOf${VECTOR_NAME}(void* vec);
#endif
CVAPI(int) VectorOf${VECTOR_NAME}SizeOfItemInBytes();

14
Emgu.CV.Extern/core/core_c.cpp

@ -1133,6 +1133,13 @@ void cveGetConfigDict(std::vector<cv::String>* key, std::vector<double>* value)
value->push_back(0);
#endif
key->push_back("HAVE_OPENCV_HDF");
#ifdef HAVE_OPENCV_HDF
value->push_back(1);
#else
value->push_back(0);
#endif
key->push_back("HAVE_OPENCV_HFS");
#ifdef HAVE_OPENCV_HFS
value->push_back(1);
@ -1175,6 +1182,13 @@ void cveGetConfigDict(std::vector<cv::String>* key, std::vector<double>* value)
value->push_back(0);
#endif
key->push_back("HAVE_OPENCV_LINE_DESCRIPTOR");
#ifdef HAVE_OPENCV_LINE_DESCRIPTOR
value->push_back(1);
#else
value->push_back(0);
#endif
key->push_back("HAVE_OPENCV_MCC");
#ifdef HAVE_OPENCV_MCC
value->push_back(1);

3
Emgu.CV.Extern/line_descriptor/line_descriptor_c.cpp

@ -4,7 +4,7 @@
//
//----------------------------------------------------------------------------
/*
#include "line_descriptor_c.h"
@ -45,4 +45,3 @@ void cveLineDescriptorLSDDetectorRelease(cv::Ptr<cv::line_descriptor::LSDDetecto
*sharedPtr = 0;
}
*/

4
Emgu.CV.Extern/line_descriptor/line_descriptor_c.h

@ -4,7 +4,7 @@
//
//----------------------------------------------------------------------------
/*
#pragma once
#ifndef EMGU_LINE_DESCRIPTOR_C_H
@ -21,6 +21,6 @@ CVAPI(void) cveLineDescriptorBinaryDescriptorRelease(cv::Ptr<cv::line_descriptor
CVAPI(cv::line_descriptor::LSDDetector*) cveLineDescriptorLSDDetectorCreate(cv::Ptr<cv::line_descriptor::LSDDetector>** sharedPtr);
CVAPI(void) cveLineDescriptorLSDDetectorDetect(cv::line_descriptor::LSDDetector* detector, cv::Mat* image, std::vector<cv::line_descriptor::KeyLine>* keypoints, int scale, int numOctaves, cv::Mat* mask);
CVAPI(void) cveLineDescriptorLSDDetectorRelease(cv::Ptr<cv::line_descriptor::LSDDetector>** sharedPtr);
#endif
*/

2
opencv_contrib

@ -1 +1 @@
Subproject commit e64664c680635ed077eddabf700691a13d4dd09e
Subproject commit 5871e571c3c6d9f214faf7ceb134e5acde66fc79
Loading…
Cancel
Save