我有一台使用 ubuntu 22、python 3.10 和 cv2 的开发机器;当我尝试在另一台机器上复制时,出现运行时错误: 来自从 haarclassifier 和 age_net.caffemodel 调用年龄预测的部分: 第 118 行返回 age_net-forward() cv2.error: OpenCV(4.7.0-dev) (请注意,在从源 orcv2 4.7.0 或 4.6.0 构建文件后结果相同) /HOME/ART/Opencv_build/opencv/modules/dnn/src/layers/cpu_kernels/conv_winograd_f63.cpp:401:error:(-215:assertion:cons_wino_iblock)
我尝试了各种排列组合,安装 opencv-python 或 opencv-contrib-python 或从源代码构建和编译 opencv 文件,结果始终相同。在原始机器上工作,但在运行相同的 python 代码时总是在第二台机器上抛出此错误。我一般都在网上和 stackoverflow 中搜索过,但我没有看到任何人注意到这个错误。 有人知道吗?
尝试复制正在工作的机器以及直接安装 opencv 的各种排列:
pip3 install opencv-python
或者
pip3 install opencv-contrib-python
或者从源代码构建 opencv 文件,一般是构建依赖:
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-dev
克隆存储库:
$ mkdir ~/opencv_build && cd ~/opencv_build
$ git clone https://github.com/opencv/opencv.git
$ git clone https://github.com/opencv/opencv_contrib.git
品牌:
Sudo ~/opencv_build/opencv/cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D WITH_VTK=OFF -D BUILD_opencv_viz=OFF
-D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON ..
然后安装我检查了所有的 python 代码,文件夹设置等都是一样的,都运行 ubuntu 22,amd 64 位。 在原始机器上工作,总是在第二个中抛出错误。 python代码在遇到错误之前正确的抓了一张图片,识别人脸,裁剪图片保存,所以错误具体到haarclassifier和age prediction。 我找不到关于这个主题的任何文档或评论。
opencv-contrib-python-rolling==4.7.0.20230211