jeston Xavier NX 安装opencv,pycharm运行

一、默认 OpenCV 卸载

为什么要卸载默认的 OpenCV ?

  • 输入命令
sudo jtop
  • 按数字6查看INFO页面,可以看到
* OpenCV:   4.1.2   compiled CUDA:  NO
  • 所以默认的 OpenCV 版本是不带 CUDA 加速的,无法充分利用 NX 的 GPU 性能

卸载默认的 OpenCV 方法

sudo apt purge libopencv*
sudo apt autoremove
sudo apt update

二、编译安装 OpenCV

安装依赖库

  • 输入以下命令
sudo apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
sudo apt update
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install -y libjpeg8-dev libjasper-dev libpng12-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev x264 v4l-utils
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

注:依赖库安装对各库版本要求较高,极力推荐使用aptitude自动管理包。sudo apt install aptitude 安装,之后用aptitude指令代替apt

sudo apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
sudo apt update
sudo aptitude install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo aptitude install libjpeg8-dev libjasper-dev libpng12-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev
sudo aptitude install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev x264 v4l-utils
sudo aptitude install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

三、下载 OpenCV 和 opencv_contrib 源码

  • 分别前往 OpenCV 和 opencv_contrib 的 github 仓库下载 Latest release 源码 ( 点击超链接跳转)
  • 点击source code即可下载
  • 注意 OpenCV 和 opencv_contrib 的版本要对应正确

四、编译和安装 OpenCV

  • 将 opencv-4.5.3.zip 和 opencv_contrib-4.5.3.zip解压
  • 将opencv_contrib-4.5.3移到opencv-4.5.3下
cd opencv-4.5.3
mkdir build
cd build
  • 执行 cmake
  • cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DOPENCV_ENABLE_NONFREE=1 \
    -DBUILD_opencv_python2=1 \
    -DBUILD_opencv_python3=1 \
    -DWITH_FFMPEG=1 \
    -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
    -DCUDA_ARCH_BIN=7.2 \
    -DCUDA_ARCH_PTX=7.2 \
    -DWITH_CUDA=1 \
    -DENABLE_FAST_MATH=1 \
    -DCUDA_FAST_MATH=1 \
    -DWITH_CUBLAS=1 \
    -DOPENCV_GENERATE_PKGCONFIG=1 \
    -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.3/modules \
    ..

执行make--编译(大约3小时)

cat /proc/stat | grep cpu[0-9] -c # 查看线程数
make -j12
  • make 编译完成后,进行安装(大约3小时)
sudo make install

----------------------------分界线----------至此是按照网友说的试验后可正常运行,下面是幺蛾子

五、检验安装结果

  • 在 python3 中运行以下命令
import cv2
cv2.__version__

结果----报错没有opencv,如果cmd运行Python调用opencv会报错如下,接下来一通操作

terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(3.4.3) /home/chen/Downloads/opencv-3.4.3/modules/highgui/src/window.cpp
  :632: error: (-2:Unspecified error) The function is not implemented. Rebuild the library 
  with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install 
  libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 
  'cvShowImage'

Aborted (core dumped)

系统提示

sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

试了不管用

问题原因---来自网友If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config_绿竹巷人的博客-CSDN博客
问题出在,安装opencv时编译配置出现了问题
我执行的是cmake …
而正确的执行命令是

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
 

操作:

解决方法(时间又大约3小时)
找到安装opencv的文件夹

cd /home/chen/Downloads/opencv-3.4.3
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
sudo make
sudo make install 

六、再次检验安装结果

pkg-config --modversion opencv

结果提示 Package opencv was not found in the pkg-config search path. 

解决方法如下:

cd /usr/local/lib

sudo mkdir pkgconfig
cd pkgconfig
sudo touch opencv.pc
sudo gedit opencv.pc

首先建一个新的文件夹:pkgconfig
然后cd到这个文件夹下,新建opencv.pc文件;
再打开opencv.pc文件,文件内输入:

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: opencv
Description: The opencv library
Version:4.5.3
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core

然后保存退出。

 接下来更改环境变量:sudo gedit /etc/bash.bashrc

  在文件后添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH

保存退出,执行下面生效

source /etc/bash.bashrc

七、配置pycharm里的解释器

我配置的是自己后期安装的3.6

1.file,setting中 

2.run,edit configuration中 

3.运行程序测试--成功

 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值