看到有链接说arm下matplotlib不好装,果然我在pip install matplotlib的时候,下载wheel后build出现大面积红字报错,主要问题:
src/checkdep_freetype2.c:3:6: error: #error "FreeType version 2.3 or higher is required. You may set the MPLLOCALFREETYPE environment variable to 1 to let Matplotlib download it."
3 | #error "FreeType version 2.3 or higher is required. \
参考链接解决
sudo apt-get install libfreetype6-dev
sudo apt-get install pkg-config
sudo apt-get install libpng12-dev
sudo apt-get install pkg-config
中间出现了错误,直接
sudo apt-get update
sudo apt-get upgrade
后,可以正常安装。
之前看了很多教程,似乎包含yolo的框架darknet只能在opencv3.4.2以下运行。
但是链接告诉我 jetpack4装的opencv4也可以使用,为了偷懒我决定试一试。
由于 jetpack4已经安装好了cuda cudnn opencv4的版本,并适配好了,所以不用再安装这三个。
darknet下载:darknet流程
下载darknet
mkdir -p ~/dl/darknet
cd ~/dl/darknet
git clone https://github.com/pjreddie/darknet.git
cd darknet
重点修改Makefile文件
GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0
同文件内设置GPU架构的计算能力
#Arch 就是GPU的架构版本,没有GPU或者GPU不支持CUDA的就不用配合这里
ARCH=
-gencode arch=compute_53,code=[sm_53,sm_53] # TX1计算能力是53
-gencode arch=compute_61,code=[sm_61,compute_61] # Pascal架构 GTX 1080 计算能力6.1
-gencode arch=compute_62,code=[sm_62,compute_62] # Pascal架构 TX2 计算能力6.2
-gencode arch=compute_72,code=[sm_72,compute_72] # volta 架构 Xavier 计算能力7.2
make前,由于opencv4和3版本的差别,需要修改下编译所需的src/image_opencv.cpp的写法:
亲测可用
输入
make -j4
在make的时候提示
No package 'opencv' found
解决办法:
在/usr/lib/aarch64-linux-gnu/pkgconfig中找到opencv4.pc,把它复制到/usr/lib/pkgconfig下,并改名为opencv.pc
可解决报错
下载yolov3-tiny权重,
wget https://pjreddie.com/media/files/yolov3-tiny.weights
图片测试
./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg
摄像头测试( -c 1 因为我是外接usb摄像头 1号位置)
./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights -c 1
sudo apt-get install guvcview
guvcview -d /dev/video