首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opencv断言因darknet而失败

Opencv断言因darknet而失败
EN

Stack Overflow用户
提问于 2018-06-23 22:13:55
回答 1查看 337关注 0票数 1

我曾经在Ubuntu 18.04上安装过OPENCV 3.4.1。我试图在我的机器上编译YOLO3,但它无法编译,这导致我找到了this issue。该问题中的一个建议建议使用3.4.0,它似乎起到了作用。

我在cmake中使用了以下选项:

代码语言:javascript
复制
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 ..

然后我就这么做了

代码语言:javascript
复制
make -j8    
sudo make install
sudo ldconfig

使用opencv 3.4.0,我能够编译它。然而,当我尝试运行它时,我得到了错误(如下所示)。这很奇怪,因为我刚刚安装了3.4.0,它显示了一些与3.4.1相关的错误。

代码语言:javascript
复制
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/)。在我的主文件夹中有很多奇怪的名字directories.So,为了避免混淆,我将其排除在外。

我能够确认3.4.0是通过以下命令安装的:

代码语言:javascript
复制
# han @ falcon in ~ [19:36:41] 
$ /usr/local/bin/opencv_version
3.4.0

我想知道是什么导致了上面提到的错误(与断言相关的错误)

EN

回答 1

Stack Overflow用户

发布于 2018-06-24 02:35:12

这是因为当我在ZSH上运行sudo apt-get purge libopencv*时,它没有产生任何结果(我忽略了一个错误,说“没有找到匹配: libopencv*”)。但是bash上的相同命令删除了早期安装中的配置文件。

Darknet不能在opencv 3.4.1中编译。所以我建议将opencv降级到3.4.0。如果你想在3.4.1上运行它,可以在Github上查看this问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51002010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档