-
Notifications
You must be signed in to change notification settings - Fork 1
OpenCVinstall
Moscowsky Anton edited this page Nov 16, 2020
·
1 revision
- If you use ROS below Noetic, it is highly recommended to update OpenCV to 4th version, because earlier versions may not support such modules as DNN or tracking.
- If you want use feature detectors which are outside of basic OpenCV.
Check preinstalled with ROS OpenCV version possibly with command:
pkg-config --modversion opencv
Note, that command shows only one installed version. If you have more than one, it is unable to check them with this command.
cd ~
git clone https://github.com/opencv/opencv.git
cd opencv && git checkout 4.2.0
cd ~
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib && git checkout 4.2.0
cd ~/opencv && mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D WITH_TBB=ON -D WITH_V4L=ON -D OPENCV_EXTRA_MODULES_PATH=/home/opencv_contrib/modules -D OPENCV_ENABLE_NONFREE=ON -D WITH_CUDA=OFF -D BUILD_EXAMPLES=ON ..
Note:
path in OPENCV_EXTRA_MODULES_PATH
better be absolute.
During configuration, some errors can occur.
- linux/videodev.h: No such file or directory compilation terminated. First check if OPENCV_EXTRA_MODULES_PATH in command afore contains correct path to opencv_contrib. If same, try
sudo apt-get install libv4l-dev
cd /usr/include/linux
sudo ln -s ../libv4l1-videodev.h videodev.h
-
No such file or directory #include <sys/videoio.h> First check if OPENCV_EXTRA_MODULES_PATH in command afore contains correct path to opencv_contrib. If same try to add to cmake command
-D WITH_LIBV4L=OFF
. -
No file stdlib.h Try to add cmake command
-D ENABLE_PRECOMPILED_HEADERS=OFF
Find how many process are available
nproc
Make with that number of processes
make -j<NUM PROC>
It is takes some time
sudo make install
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
TODO
If you want uninstall THAT opencv
cd ~/opencv/build
sudo make uninstall
- Home
- ROS-interface
- Interacting with a package through a configuration file
- Common structure of the configuration file
-
Simple objects
- Clusterization
- Filtering
- Tracking
- Attributes
- HSVcolor
- HistColor
- HaarCascade
- Size
- Hough
- Dimension
- BasicMotion
- Aruco
- Feature
- Pose
- DNN
- QR
- QR_Zbar
- LogicAnd
- LogicNot
- LogicOr
- Blob
- Depth
- RoughDist
- Dist
- FaceDlib
- ExractedInfoId
- ExractedInfoString
- UnitTranslation
- SquareObjectDistance
- TorchYOLOv7Attribute
- TorchYOLOv7KeypointAttribute
- ROSSubcriberOpenPoseRaw
- DummyHumanPose
- Complex objects
- Install Guides
- Usage Guides
- Troubleshooting