2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
एकदिनाधिकं यावत् समायोजितः दोषः अन्ततः समाधानं प्राप्तवान्... भवतः सन्दर्भार्थं च स्थापितः।
अस्य वयस्कस्य धन्यवादः तस्य कोडस्य कृते, सर्वाणि सामग्रीनि सम्यक् प्रयोक्तुं शक्यन्ते: ubuntu20.04 configuration vins-fusion+opencv4.6
अयं लेखः अपि महान् अस्ति, भवान् सन्दर्भयितुं शक्नोति: ubuntu20.04 इत्यत्र lvi-sam चालयति समये त्रुटिः! Opencv पुस्तकालयस्य cv_bridge संकुलस्य च मध्ये द्वन्द्वसमस्या
OpenCV 4.6.0 · opencv/opencv · GitHub इत्येतत् विमोचयन्तु
विमोचनं ४.६.० · opencv/opencv_contrib · GitHub
https://github.com/ros-perception/vision_opencv/वृक्ष/
sudo mv ./opencv-4.6.0/ /usr/local/
sudo mv ./opencv_contirb-4.6.0/ /usr/local/
cd /usr/local/opencv-4.6.0/
sudo mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv-4.6.0
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.6.0/modules
-D WITH_CUDA=OFF
-D ENABLE_FAST_MATH=OFF
-D CUDA_FAST_MATH=OFF
-D WITH_CUBLAS=ON
-D WITH_LIBV4L=ON
-D WITH_GSTREAMER=ON
-D WITH_GSTREAMER_0_10=OFF
-D WITH_QT=ON
-D WITH_OPENGL=ON
-D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr"
-D WITH_TBB=ON
..
make -j8
sudo make install
mkdir -r ~/third/cv_bridge_ws/src/
cd ~/cv_bridge_ws/src/
GitHub - ros-अनुभूति/दृष्टि_opencv at noetic
set(Opencv_DIR /usr/local/opencv-4.6.0/build)
set(_opencv_version 4)
find_package(OpenCV 4 QUIET)
cmake_minimum_required(VERSION 3.0.2)
project(my_cv_bridge)
find_package(catkin REQUIRED COMPONENTS rosconsole sensor_msgs)
if(NOT ANDROID)
find_package(PythonLibs)
if(PYTHONLIBS_VERSION_STRING VERSION_LESS "3.8")
# Debian Buster
find_package(Boost REQUIRED python37)
else()
# Ubuntu Focal
find_package(Boost REQUIRED python)
endif()
else()
find_package(Boost REQUIRED)
endif()
set(Opencv_DIR /usr/local/opencv-4.6.0/build)
set(_opencv_version 4)
find_package(OpenCV 4 QUIET)
if(NOT OpenCV_FOUND)
message(STATUS "Did not find OpenCV 4, trying OpenCV 3")
set(_opencv_version 3)
endif()
find_package(OpenCV ${_opencv_version} REQUIRED
COMPONENTS
opencv_core
opencv_imgproc
opencv_imgcodecs
CONFIG
)
catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS rosconsole sensor_msgs
DEPENDS OpenCV
CFG_EXTRAS cv_bridge-extras.cmake
)
catkin_python_setup()
include_directories(include ${Boost_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
if(NOT ANDROID)
add_subdirectory(python)
endif()
add_subdirectory(src)
if(CATKIN_ENABLE_TESTING)
add_subdirectory(test)
endif()
# install the include folder
install(
DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)
<package format="2">
# <name>cv_bridge</name>
<name>my_cv_bridge</name>
cd ~/cv_bridge_ws/
catkin_make
source ~/cv_bridge_ws/devel/setup.bash
स्रोत ~/.बास在这里插入代码片
hrc
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
geometry_msgs
nav_msgs
tf
cv_bridge_460
camera_models
image_transport)
set(my_cv_bridge_DIR "/home/lemontech/thirdlib/cv_bridge_ws/devel/share/my_cv_bridge/cmake")
set(OpenCV_DIR "/usr/local/opencv-4.6.0/bulid/")
include_directories(${catkin_INCLUDE_DIRS} ${CERES_INCLUDE_DIRS} ${my_cv_bridge_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
nav_msgs
camera_models
my_cv_bridge
roslib
)
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/home/lemontech/thirdlib/cv_bridge_ws/devel")
set(my_cv_bridge_DIR "/home/lemontech/thirdlib/cv_bridge_ws/devel/share/my_cv_bridge/cmake")
#-DEIGEN_USE_MKL_ALL")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g")
set(OpenCV_DIR "/usr/local/opencv-4.6.0/bulid/")
include_directories(${catkin_INCLUDE_DIRS} ${CERES_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIR} ${my_cv_bridge_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
cmake_minimum_required(VERSION 2.8.3)
project(loop_fusion)
set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS "-std=c++17")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/home/lemontech/thirdlib/cv_bridge_ws/devel")
set(my_cv_bridge_DIR "/home/lemontech/thirdlib/cv_bridge_ws/devel/share/my_cv_bridge/cmake")
#-DEIGEN_USE_MKL_ALL")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g")
set(OpenCV_DIR "/usr/local/opencv-4.6.0/bulid/")
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
nav_msgs
camera_models
my_cv_bridge
roslib
)
find_package(OpenCV)
find_package(Ceres REQUIRED)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
find_package(Eigen3)
include_directories(${catkin_INCLUDE_DIRS} ${CERES_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIR} ${my_cv_bridge_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
catkin_package()
add_executable(loop_fusion_node
src/pose_graph_node.cpp
src/pose_graph.cpp
src/keyframe.cpp
src/utility/CameraPoseVisualization.cpp
src/ThirdParty/DBoW/BowVector.cpp
src/ThirdParty/DBoW/FBrief.cpp
src/ThirdParty/DBoW/FeatureVector.cpp
src/ThirdParty/DBoW/QueryResults.cpp
src/ThirdParty/DBoW/ScoringObject.cpp
src/ThirdParty/DUtils/Random.cpp
src/ThirdParty/DUtils/Timestamp.cpp
src/ThirdParty/DVision/BRIEF.cpp
src/ThirdParty/VocabularyBinary.cpp
)
target_link_libraries(loop_fusion_node ${catkin_LIBRARIES} ${OpenCV_LIBS} ${CERES_LIBRARIES})
यदि संकलनं सफलं भवति तथा च find_package इत्यस्मिन् my_cv_bridge फंक्शन् संकुलं सम्यक् चिह्नितुं शक्यते तर्हि उपर्युक्तानि त्रीणि सञ्चिकाः vins-fusion इत्यस्य devel सञ्चिकायां प्राप्तुं शक्यन्ते ।आधिकारिकं cv_bridge संस्थापनं समानम् अस्ति, केवलं आधिकारिकं संकुलं opt/ros/noetic/...
एषा त्रुटिः भवति। ! तदा। . . मया my_cv_bridge/cmake इत्यस्य अधः cv_bridge-extras.cmake इति परीक्षितं तदापि ज्ञातं यत् अद्यापि 4.2 इति लिखितम् अस्ति!!!
परिवर्तनानन्तरं सम्यक् संस्करणं अधः अस्ति
क. (1) संस्करणं 4.6 इति परिवर्तयन्तु
ख. (2)opencv_config_path设置为/usr/स्थानीय/opencv-4.6.0/lib/cmake/opencv4
ततः, अहं /usr/local/opencv-4.6.0/lib/cmake/opencv4 उद्घाटितवान् तथा च अधोलिखिते चित्रे सेट् (OpenCV_VERSION 4.2.0) 4.2 इति उक्तवान्, न तु 4.6 Correct and recompile इति
rm -rf build
mkdir build && cd build
cmake ..
make -j8
sudo rm /usr/local/lib/libopencv_*4.2*
ततः /var मध्ये सम्बन्धिताः सञ्चिकाः भवितुम् अर्हन्ति तथा च समानं लोपविधिः उपयुज्यन्ते ।
2. opencv पुस्तकालयेन सह सम्बद्धं मार्गं पश्यन्तु पुस्तकालयस्य लिङ्क् सञ्चिकाः सर्वाणि अस्याः सञ्चिकायाः अधः सन्ति:
sudo find / -iname "*opencv*"
sudo ldconfig
set(CMAKE_CXX_FLAGS "-std=c++17")指定了c++17标准进行编译
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/home/lemontech/thirdlib/cv_bridge_ws/devel") 这个设置将/home/lemontech/thirdlib/cv_bridge_ws/devel路径添加到cmake的前缀路径中,以便CMake可以在路径中找到依赖项和包
set(my_cv_bridge_DIR "/home/lemontech/thirdlib/cv_bridge_ws/devel/share/my_cv_bridge/cmake")设置置顶了my_cv_bridge包的CMake配置文件路径,以便CMake可以找到并使用这个包
find_package(catkin REQUIRED COMPONENTS
my_cv_bridge
roscpp
)用于查找并配置指定的catkin包和组件,catkin是ros的构建系统,REQUIRED表示这些组件是必须的,如果缺少,会报错)