This commit is contained in:
jerryzeng 2026-04-16 15:42:43 +08:00
commit 06d1453749
2 changed files with 58 additions and 30 deletions

View File

@ -2,11 +2,16 @@
cmake_minimum_required(VERSION 3.5)
project(ZAlgo)
# OpenCV320 480
# 使cmake -DOPENCV_VERSION=320 .. cmake -DOPENCV_VERSION=480 ..
set(OPENCV_VERSION "320" CACHE STRING "OpenCV版本选择: 320 或 480")
set_property(CACHE OPENCV_VERSION PROPERTY STRINGS "320" "480")
set(DCMAKE_BUILD_SYSNAME Arm)
set(CMAKE_BUILD_ARCH aarch64)
set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
ADD_DEFINITIONS("-fPIC -O3")
ADD_DEFINITIONS("-fexceptions")
@ -16,45 +21,68 @@ SET(CMAKE_CXX_FLAGS "-fvisibility=hidden -fpermissive -std=c++14 -fno-use-cxa-at
#out path configure_file
#
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/arm/libs)
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/arm/bin)
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build/aarch64)
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build/aarch64/bin)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/VzNLSDK/Inc)
# INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/OpenCV320/include)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/opencv/build/include)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/eigen3)
# OPENCV_VERSIONOpenCV
if(OPENCV_VERSION STREQUAL "320")
message(STATUS "使用 OpenCV 3.2.0")
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/OpenCV320/include)
add_definitions(-DOPENCV_VERSION_320)
elseif(OPENCV_VERSION STREQUAL "480")
message(STATUS "使用 OpenCV 4.8.0")
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/opencv480/include)
add_definitions(-DOPENCV_VERSION_480)
else()
message(FATAL_ERROR "不支持的OpenCV版本: ${OPENCV_VERSION},请使用 320 或 480")
endif()
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/sourceCode/inc)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/sourceCode)
ADD_DEFINITIONS(-DSG_API_LIBRARY)
ADD_LIBRARY(baseAlgorithm SHARED sourceCode/SG_baseFunc.cpp
sourceCode/SG_clustering.cpp
sourceCode/SG_featureGrow.cpp
sourceCode/SG_lineFeature.cpp
sourceCode/SG_regionGrow.cpp
sourceCode/WD_noiseFilter.cpp
sourceCode/WD_watershed.cpp
)
if(OPENCV_VERSION STREQUAL "320")
ADD_LIBRARY(baseAlgorithm SHARED sourceCode/dataFitting.cpp
sourceCode/SG_baseFunc.cpp
sourceCode/SG_clustering.cpp
sourceCode/SG_featureGrow.cpp
sourceCode/SG_lineFeature.cpp
sourceCode/SG_regionGrow.cpp
sourceCode/WD_noiseFilter.cpp
sourceCode/WD_watershed.cpp
)
ADD_LIBRARY(bagPositioning SHARED sourceCode/SG_bagPositioning.cpp)
ADD_LIBRARY(bagPositioning SHARED sourceCode/SG_bagPositioning.cpp)
ADD_LIBRARY(lapWeldDetection SHARED sourceCode/SX_lapWeldDetection.cpp)
ADD_LIBRARY(lapWeldDetection SHARED sourceCode/SX_lapWeldDetection.cpp)
ADD_LIBRARY(beltTearingDetection SHARED sourceCode/beltTearingDetection.cpp)
ADD_LIBRARY(beltTearingDetection SHARED sourceCode/beltTearingDetection.cpp)
ADD_LIBRARY(workpieceCornerExtraction SHARED sourceCode/BQ_workpieceCornerExtraction.cpp)
# ADD_LIBRARY(workpieceCornerExtraction SHARED sourceCode/BQ_workpieceCornerExtraction.cpp)
ADD_LIBRARY(particleSizeMeasurement SHARED sourceCode/WD_particleSizeMeasure.cpp)
ADD_LIBRARY(particleSizeMeasurement SHARED sourceCode/WD_particleSizeMeasure.cpp)
ADD_LIBRARY(binocularMarkCam SHARED sourceCode/binocularMarkCam.cpp
sourceCode/aruco/aruco.cpp
sourceCode/aruco/aruco_calib.cpp
)
ADD_LIBRARY(wheelArchHeigthMeasure SHARED sourceCode/wheelArchHeigthMeasure.cpp)
#add executable file
# ADD_EXECUTABLE(bagPositioning_test bagPositioning_test/bagPositioning_test.cpp)
ADD_LIBRARY(channelSpaceMeasure SHARED sourceCode/channelSpaceMeasure.cpp)
ADD_LIBRARY(rodAndBarDetection SHARED sourceCode/rodAndBarDetection.cpp)
ADD_LIBRARY(bagThreadPositioning SHARED sourceCode/bagThreadPositioning.cpp)
ADD_LIBRARY(workpieceHolePositioning SHARED sourceCode/workpieceHolePositioning.cpp)
# ADD_LIBRARY(motorStatorPosition SHARED sourceCode/motorStatorPosition.cpp)
# TARGET_LINK_LIBRARIES(bagPositioning_test
# bagPositioning
# )
elseif(OPENCV_VERSION STREQUAL "480")
ADD_LIBRARY(binocularMarkCam SHARED sourceCode/binocularMarkCam.cpp
sourceCode/aruco/aruco.cpp
sourceCode/aruco/aruco_calib.cpp
)
else()
message(FATAL_ERROR "不支持的OpenCV版本: ${OPENCV_VERSION},请使用 320 或 480")
endif()

View File

@ -832,9 +832,9 @@ SSX_pointPoseInfo sx_getLocationPlatePose(
}
double center_z = (ptTop.z + ptBtm.z + ptLeft.z + ptRight.z) / 4;
resultPose.center = { center_x, center_y, center_z };
resultPose.normalDir = { 0, 0, -1.0 };
resultPose.yDir = { 0, -1.0, 0 };
resultPose.xDir = { 1.0, 0, 0 };
resultPose.xDir = { 1.0, 0.0, 0 };
resultPose.yDir = { 0.0, 1.0, 0 };
resultPose.normalDir = { 0.0, 0.0, 1.0 };
//Ðýת»ØÈ¥
for (int i = 0; i < lineNum; i++)
{