在配置darknet环境时遇到的问题,opencv 出问题了,请求帮助!

Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘opencv’ found
./src/image_opencv.cpp:5:10: fatal error: opencv2/opencv.hpp: 没有那个文件或目录
5 | #include “opencv2/opencv.hpp”
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:86:obj/image_opencv.o] 错误 1

@llw555 这具体是在哪一步发生的,完整的log贴一下,是安装依赖时报错,还是darknet在编译时报错.


### 编译

                在根目录下执行make

               $ make

出的错,是不是我的opencv装的版本不对呢,有openv4.pc的文件,没有opencv2.pc的文件。

在向上还有一些错,但都是重复的,

Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘opencv’ found

这段重复了好多次。

原因是不是在这里呢,我没有指定版本号:

Install opencv

$ sudo apt install libopencv-dev
$ sudo pip3 install opencv-python

The latest version has been updated to 4.1.x.You can specify the version number to install 3.4.x.

@llw555 你是20.04的Ubuntu主机么,darknet对opencv4的支持可能还没完善,建议你使用opencv3去编译darknet

我把opencv4換成opencv3.4.×了,又出如下錯誤了:
g++ -Iinclude/ -Isrc/ -DOPENCV pkg-config --cflags opencv -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -DOPENCV -c ./src/image_opencv.cpp -o obj/image_opencv.o
./src/image_opencv.cpp:12:1: error: ‘IplImage’ does not name a type
12 | IplImage *image_to_ipl(image im)
| ^~~~~~~~
compilation terminated due to -Wfatal-errors.
make: *** [Makefile:86:obj/image_opencv.o] 错误 1

另外,我把/lib/aarch64-linux-gnu/pkgconfig/opencv4.pc復制到了/lib/pkgconfig並改名稱爲opencv.pc
我是按網上改的,我試着改回去,但是錯誤更多。所我維持這樣了。

@llw555 opencv4 移除了大量的Iplmage函数,你这应该是没有成功换成opencv3.才会报Iplmage的错误

不执行 $ sudo apt install libopencv-dev
卸载已安装的。
只运行 $ sudo pip3 install opencv-python=3.4.*
就好了