feat: 切换后端至PaddleOCR-NCNN,切换工程为CMake
1.项目后端整体迁移至PaddleOCR-NCNN算法,已通过基本的兼容性测试 2.工程改为使用CMake组织,后续为了更好地兼容第三方库,不再提供QMake工程 3.重整权利声明文件,重整代码工程,确保最小化侵权风险 Log: 切换后端至PaddleOCR-NCNN,切换工程为CMake Change-Id: I4d5d2c5d37505a4a24b389b1a4c5d12f17bfa38c
This commit is contained in:
		
							
								
								
									
										45
									
								
								3rdparty/opencv-4.5.4/modules/highgui/cmake/detect_gtk.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								3rdparty/opencv-4.5.4/modules/highgui/cmake/detect_gtk.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
# --- GTK ---
 | 
			
		||||
ocv_clear_vars(HAVE_GTK HAVE_GTK2 HAVE_GTK3 HAVE_GTHREAD HAVE_GTKGLEXT)
 | 
			
		||||
if(WITH_GTK)
 | 
			
		||||
  if(NOT WITH_GTK_2_X)
 | 
			
		||||
    ocv_check_modules(GTK3 gtk+-3.0)
 | 
			
		||||
    if(HAVE_GTK3)
 | 
			
		||||
      ocv_add_external_target(gtk3 "${GTK3_INCLUDE_DIRS}" "${GTK3_LIBRARIES}" "HAVE_GTK3;HAVE_GTK")
 | 
			
		||||
      set(HAVE_GTK TRUE)
 | 
			
		||||
    endif()
 | 
			
		||||
  endif()
 | 
			
		||||
  if((PROJECT_NAME STREQUAL "OpenCV" AND HIGHGUI_ENABLE_PLUGINS) OR NOT HAVE_GTK3)
 | 
			
		||||
    ocv_check_modules(GTK2 gtk+-2.0)
 | 
			
		||||
    if(HAVE_GTK2)
 | 
			
		||||
      set(MIN_VER_GTK "2.18.0")
 | 
			
		||||
      if(GTK2_VERSION VERSION_LESS MIN_VER_GTK)
 | 
			
		||||
        message(FATAL_ERROR "GTK support requires a minimum version of ${MIN_VER_GTK} (${GTK2_VERSION} found)")
 | 
			
		||||
      else()
 | 
			
		||||
        ocv_add_external_target(gtk2 "${GTK2_INCLUDE_DIRS}" "${GTK2_LIBRARIES}" "HAVE_GTK2;HAVE_GTK")
 | 
			
		||||
        set(HAVE_GTK TRUE)
 | 
			
		||||
      endif()
 | 
			
		||||
    endif()
 | 
			
		||||
  endif()
 | 
			
		||||
  ocv_check_modules(GTHREAD gthread-2.0)
 | 
			
		||||
  if(HAVE_GTK AND NOT HAVE_GTHREAD)
 | 
			
		||||
    message(FATAL_ERROR "gthread not found. This library is required when building with GTK support")
 | 
			
		||||
  else()
 | 
			
		||||
    ocv_add_external_target(gthread "${GTHREAD_INCLUDE_DIRS}" "${GTHREAD_LIBRARIES}" "HAVE_GTHREAD")
 | 
			
		||||
  endif()
 | 
			
		||||
  if((WITH_OPENGL OR HAVE_OPENGL) AND HAVE_GTK2)
 | 
			
		||||
    ocv_check_modules(GTKGLEXT gtkglext-1.0)
 | 
			
		||||
    if(HAVE_GTKGLEXT)
 | 
			
		||||
      ocv_add_external_target(gtkglext "${GTKGLEXT_INCLUDE_DIRS}" "${GTKGLEXT_LIBRARIES}" "HAVE_GTKGLEXT")
 | 
			
		||||
    endif()
 | 
			
		||||
  endif()
 | 
			
		||||
elseif(HAVE_GTK)
 | 
			
		||||
  ocv_add_external_target(gtk "${GTK_INCLUDE_DIRS}" "${GTK_LIBRARIES}" "${GTK_DEFINES};HAVE_GTK")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(WITH_OPENGL AND HAVE_GTKGLEXT)
 | 
			
		||||
  find_package(OpenGL QUIET)
 | 
			
		||||
  if(OPENGL_FOUND)
 | 
			
		||||
    set(HAVE_OPENGL TRUE)
 | 
			
		||||
    ocv_add_external_target(gtk_opengl "${OPENGL_INCLUDE_DIRS}" "${OPENGL_LIBRARIES}" "HAVE_OPENGL")
 | 
			
		||||
  endif()
 | 
			
		||||
endif()
 | 
			
		||||
							
								
								
									
										15
									
								
								3rdparty/opencv-4.5.4/modules/highgui/cmake/detect_win32ui.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								3rdparty/opencv-4.5.4/modules/highgui/cmake/detect_win32ui.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
#--- Win32 UI ---
 | 
			
		||||
ocv_clear_vars(HAVE_WIN32UI)
 | 
			
		||||
if(WITH_WIN32UI)
 | 
			
		||||
  try_compile(HAVE_WIN32UI
 | 
			
		||||
    "${CMAKE_CURRENT_BINARY_DIR}"
 | 
			
		||||
    "${OpenCV_SOURCE_DIR}/cmake/checks/win32uitest.cpp"
 | 
			
		||||
    CMAKE_FLAGS "-DLINK_LIBRARIES:STRING=user32;gdi32")
 | 
			
		||||
  if(HAVE_WIN32UI)
 | 
			
		||||
    set(__libs "user32" "gdi32")
 | 
			
		||||
    if(OpenCV_ARCH STREQUAL "ARM64")
 | 
			
		||||
      list(APPEND __libs "comdlg32" "advapi32")
 | 
			
		||||
    endif()
 | 
			
		||||
    ocv_add_external_target(win32ui "" "${__libs}" "HAVE_WIN32UI")
 | 
			
		||||
  endif()
 | 
			
		||||
endif()
 | 
			
		||||
							
								
								
									
										44
									
								
								3rdparty/opencv-4.5.4/modules/highgui/cmake/init.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								3rdparty/opencv-4.5.4/modules/highgui/cmake/init.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
			
		||||
if(PROJECT_NAME STREQUAL "OpenCV")
 | 
			
		||||
  set(ENABLE_PLUGINS_DEFAULT ON)
 | 
			
		||||
  if(EMSCRIPTEN OR IOS OR WINRT)
 | 
			
		||||
    set(ENABLE_PLUGINS_DEFAULT OFF)
 | 
			
		||||
  endif()
 | 
			
		||||
  set(HIGHGUI_PLUGIN_LIST "" CACHE STRING "List of GUI backends to be compiled as plugins (gtk, gtk2/gtk3, qt, win32 or special value 'all')")
 | 
			
		||||
  set(HIGHGUI_ENABLE_PLUGINS "${ENABLE_PLUGINS_DEFAULT}" CACHE BOOL "Allow building and using of GUI plugins")
 | 
			
		||||
  mark_as_advanced(HIGHGUI_PLUGIN_LIST HIGHGUI_ENABLE_PLUGINS)
 | 
			
		||||
 | 
			
		||||
  string(REPLACE "," ";" HIGHGUI_PLUGIN_LIST "${HIGHGUI_PLUGIN_LIST}")  # support comma-separated list (,) too
 | 
			
		||||
  if(NOT HIGHGUI_ENABLE_PLUGINS)
 | 
			
		||||
    if(HIGHGUI_PLUGIN_LIST)
 | 
			
		||||
      message(WARNING "HighGUI: plugins are disabled through HIGHGUI_ENABLE_PLUGINS, so HIGHGUI_PLUGIN_LIST='${HIGHGUI_PLUGIN_LIST}' is ignored")
 | 
			
		||||
      set(HIGHGUI_PLUGIN_LIST "")
 | 
			
		||||
    endif()
 | 
			
		||||
  else()
 | 
			
		||||
    # Make virtual plugins target
 | 
			
		||||
    if(NOT TARGET opencv_highgui_plugins)
 | 
			
		||||
      add_custom_target(opencv_highgui_plugins ALL)
 | 
			
		||||
    endif()
 | 
			
		||||
  endif()
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Detect available dependencies
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
if(NOT PROJECT_NAME STREQUAL "OpenCV")
 | 
			
		||||
  include(FindPkgConfig)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
macro(add_backend backend_id cond_var)
 | 
			
		||||
  if(${cond_var})
 | 
			
		||||
    include("${CMAKE_CURRENT_LIST_DIR}/detect_${backend_id}.cmake")
 | 
			
		||||
  endif()
 | 
			
		||||
endmacro()
 | 
			
		||||
 | 
			
		||||
add_backend("gtk" WITH_GTK)
 | 
			
		||||
add_backend("win32ui" WITH_WIN32UI)
 | 
			
		||||
# TODO cocoa
 | 
			
		||||
# TODO qt
 | 
			
		||||
# TODO opengl
 | 
			
		||||
 | 
			
		||||
# FIXIT: move content of cmake/OpenCVFindLibsGUI.cmake here (need to resolve CMake scope issues)
 | 
			
		||||
							
								
								
									
										61
									
								
								3rdparty/opencv-4.5.4/modules/highgui/cmake/plugin.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								3rdparty/opencv-4.5.4/modules/highgui/cmake/plugin.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,61 @@
 | 
			
		||||
function(ocv_create_builtin_highgui_plugin name target)
 | 
			
		||||
 | 
			
		||||
  ocv_debug_message("ocv_create_builtin_highgui_plugin(${ARGV})")
 | 
			
		||||
 | 
			
		||||
  if(NOT TARGET ${target})
 | 
			
		||||
    message(FATAL_ERROR "${target} does not exist!")
 | 
			
		||||
  endif()
 | 
			
		||||
  if(NOT OpenCV_SOURCE_DIR)
 | 
			
		||||
    message(FATAL_ERROR "OpenCV_SOURCE_DIR must be set to build the plugin!")
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  message(STATUS "HighGUI: add builtin plugin '${name}'")
 | 
			
		||||
 | 
			
		||||
  foreach(src ${ARGN})
 | 
			
		||||
    list(APPEND sources "${CMAKE_CURRENT_LIST_DIR}/src/${src}")
 | 
			
		||||
  endforeach()
 | 
			
		||||
 | 
			
		||||
  add_library(${name} MODULE ${sources})
 | 
			
		||||
  target_include_directories(${name} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
 | 
			
		||||
  target_compile_definitions(${name} PRIVATE BUILD_PLUGIN)
 | 
			
		||||
  target_link_libraries(${name} PRIVATE ${target})
 | 
			
		||||
 | 
			
		||||
  foreach(mod opencv_highgui
 | 
			
		||||
      opencv_core
 | 
			
		||||
      opencv_imgproc
 | 
			
		||||
      opencv_imgcodecs
 | 
			
		||||
      opencv_videoio  # TODO remove this dependency
 | 
			
		||||
  )
 | 
			
		||||
    ocv_target_link_libraries(${name} LINK_PRIVATE ${mod})
 | 
			
		||||
    ocv_target_include_directories(${name} "${OPENCV_MODULE_${mod}_LOCATION}/include")
 | 
			
		||||
  endforeach()
 | 
			
		||||
 | 
			
		||||
  if(WIN32)
 | 
			
		||||
    set(OPENCV_PLUGIN_VERSION "${OPENCV_DLLVERSION}" CACHE STRING "")
 | 
			
		||||
    if(CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8)
 | 
			
		||||
      set(OPENCV_PLUGIN_ARCH "_64" CACHE STRING "")
 | 
			
		||||
    else()
 | 
			
		||||
      set(OPENCV_PLUGIN_ARCH "" CACHE STRING "")
 | 
			
		||||
    endif()
 | 
			
		||||
  else()
 | 
			
		||||
    set(OPENCV_PLUGIN_VERSION "" CACHE STRING "")
 | 
			
		||||
    set(OPENCV_PLUGIN_ARCH "" CACHE STRING "")
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  set_target_properties(${name} PROPERTIES
 | 
			
		||||
    CXX_STANDARD 11
 | 
			
		||||
    CXX_VISIBILITY_PRESET hidden
 | 
			
		||||
    DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
 | 
			
		||||
    OUTPUT_NAME "${name}${OPENCV_PLUGIN_VERSION}${OPENCV_PLUGIN_ARCH}"
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  if(WIN32)
 | 
			
		||||
    set_target_properties(${name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
 | 
			
		||||
    install(TARGETS ${name} OPTIONAL LIBRARY DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT plugins)
 | 
			
		||||
  else()
 | 
			
		||||
    install(TARGETS ${name} OPTIONAL LIBRARY DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT plugins)
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  add_dependencies(opencv_highgui_plugins ${name})
 | 
			
		||||
 | 
			
		||||
endfunction()
 | 
			
		||||
		Reference in New Issue
	
	Block a user