Opencv断言因暗网失败

时间:2018-06-23 14:13:55

标签: c++ opencv ubuntu darknet

我曾经在Ubuntu 18.04上安装了OPENCV 3.4.1。我试图在计算机上编译YOLO3,但编译失败,这导致我进入this issue。该问题中的一项建议是建议使用3.4.0,这确实可行。

我在cmake中使用了这些选项:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.0/modules \
-D BUILD_EXAMPLES=ON ..

然后我做了

make -j8    
sudo make install
sudo ldconfig

使用opencv 3.4.0可以编译它。但是,当我尝试运行它时,出现错误(如下所示)。这很奇怪,因为我刚刚安装了3.4.0,并且显示了与3.4.1有关的一些错误。

OpenCV(3.4.1) Error: Assertion failed ((flags & FIXED_TYPE) != 0) in type, file <local_path>/opencv-3.4.1/modules/core/src/matrix_wrap.cpp, line 807

当我什至没有安装它时,就不应该显示3.4.1错误。我还删除了较早版本3.4.1的编译目录,但错误仍然指向删除的目录(<local_path>/opencv-3.4.1/)。位于我的主文件夹中,其中包含许多奇怪的命名目录。因此,为了避免造成混淆,我将其排除在外。

我能够确认3.4.0已安装:

# han @ falcon in ~ [19:36:41] 
$ /usr/local/bin/opencv_version
3.4.0

我想知道是什么导致上述错误(与断言有关的错误)

1 个答案:

答案 0 :(得分:1)

发生这种情况的原因是,当我在ZSH上运行sudo apt-get purge libopencv*时未产生任何结果(出现错误,提示“找不到匹配项:libopencv *”,我忽略了该错误)。但是bash上的同一命令从早期安装中删除了配置文件。

Darknet无法使用opencv 3.4.1进行编译。所以我建议将opencv降级到3.4.0。如果您想在3.4.1上运行它,请查看Github上的this问题。