Ubuntu16.04卸載舊版OpenCV2.4.9安裝新版OpenCV4.1.2+contrib4.1.2

一、卸載已安裝的opencv

1、查看已安裝的opencv版本

$ pkg-config --modversion opencv

2、卸載
首先要找到當初安裝opencv的build目錄,進入該build目錄執行卸載操作

$  sudo make uninstall
$  cd  ..
$  rm -r build
如果找不見該build目錄,可以重新建立build目錄安裝對應版本,然後再執行上邊卸載步驟。然後清理/usr中所有opencv相關項
$  rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
$  cd /usr
$  find . -name "*opencv*" | xargs sudo rm -rf
移除python相關

$ apt-get remove-doc opencv-data python-opencv
如果找不見當時的安裝目錄,可能被刪除了,就需要重新安裝一遍,安裝之後就可以進行uninstall操作了!
3、重新安裝
https://sourceforge.net/projects/opencvlibrary/files/
上述網站下載對應版本
安裝

cmake ..
make -j4
sudo make install

4.OpenCV4.1.2+contrib4.1.2的安裝:
(記得下載對應版本)
https://www.jianshu.com/p/f54b0fc13811
https://www.cnblogs.com/fx-blog/p/8213704.html
下載opencv,解壓,同時下載解壓並將contrib也放在文件夾下,

cd opencv-4.0.1
mkdir release
cd release

然後在新建的這個文件裏運行cmake:

cmake -DCMAKE_BUILD_TYPE=Release \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

記得修改自己的contrib路徑;
可能或出現ubuntu16.04 安裝opencv IPPICV 和 face_landmark_model.dat下載不下來的問題解決。
根據該網址解決:
https://blog.csdn.net/CSDN330/article/details/86747867

OpenCV4默認不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON纔會生成
OPENCV_EXTRA_MODULES_PATH添加外部庫
之後就是編譯和安裝了,我的電腦是四核八線程,可以運行make -j8,但我不想編譯時影響我工作,所以用-j7,如果是四核可用make -j4。

make -j4
sudo make install

如果你安裝了python-dev,這時Python應該可以使用OpenCV了,在終端輸入python,可以查看OpenCV版本:

$ python 
>>> import cv2
>>> cv2.__version__
'4.0.1'

5.之後就是配置c++了,先在/etc/ld.so.conf.d/文件夾下新建一個opencv4.conf,裏面寫入/usr/local/lib。

cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf'
更新pkg-config:
sudo ldconfig

pkg-config opencv4 --modversion 查看版本
之後可以在終端輸入pkg-config --libs opencv4和pkg-config --cflags opencv4檢驗一下,我的輸出如下:

$ pkg-config --libs opencv4 
-L/usr/local/lib -lopencv_dnn -lopencv_gapi -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core

最後編譯一個cpp文件慶祝一下,進入<你的目錄>/opencv-4.0.1/samples/cpp/下,用g++編譯:

g++ `pkg-config --cflags opencv4` drawing.cpp `pkg-config --libs opencv4` -o drawing.out
./drawing.out
drawing.cpp是你要編譯的文件,-o後面的是生成文件,默認生成a.out文件;./drawing.out是執行。

OpenCV的卸載
刪掉opencv4.conf文件,再在你編譯的文件夾(我的是release)下運行sudo make uinstall即可。

OpenCV3的安裝
OpenCV3版本的安裝略有不同,編譯後其生成的是opencv.pc,所以要建立一個opencv.conf文件,編譯命令:

g++ `pkg-config --cflags --libs opencv` drawing.cpp
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章