我曾经在 Ubuntu 18.04 上安装过 OPENCV 3.4.1。我试图在我的机器上编译 YOLO3,但编译失败导致我遇到了这个问题。该问题中的一项建议建议使用 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
我想知道是什么导致了上面提到的错误(与断言有关的错误)