最近尝试了使用 yolo 进行目标检测,当我检测图片时没有问题,但是检测视频的时候出现了提示: Demo needs OpenCV for webcam images
问题出现的原因
默认情况下yolo的Makefile文件有个配置OPENCV=0,你需要将它改成 0 ,然后重新make 编译
make 编译就会启用 opencv,此时你需要在你的电脑上安装opencv 才可以
修改Makefile
vi Makefile
OPENCV=1
重新make
make
如果你没有安装opencv情况下此时 make 会报错
安装 opencv (Linux 环境)
下载地址: https://opencv.org/releases.html
下载 source 文件
解压
unzip opencv-3.4.5.zip
opencv 安装需要依赖 cmake 如果你没有安装需要安装一下 cmake(CMake 2.8.7 或者以上版本)
安装opencv 依赖包
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev>
创建一个 buid 目录准备编译安装opencv
cd opencv-3.4.5
mkdir build
cd build
cmake ..
#等待编译完成
#j8 代表使用 8 个线程去并行编译
make -j8
sudo make install
设置opencv静态库加载路径
编译完成后会生成一个lib目录,里面包含了很多.so的库文件
vi /etc/ld.so.conf
加入一行路径 也就是 opencv 编译安装之后生成的lib
include /path/to/opencv/lib
使配置文件生效
sudo ldconfig
验证yolo 加载视频
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights /home/fantasy/video2img.mp4