gpt4 book ai didi

python - 属性错误 : module 'cv2.cv2' has no attribute 'freetype' in OpenCV

转载 作者:行者123 更新时间:2023-12-04 11:41:42 24 4
gpt4 key购买 nike

我正在使用安装了最少软件包的 docker 容器。我安装了 opencv-contrib-python使用 pip3 install opencv-contrib-python并安装了最新版本 4.1.025并已验证它正在运行并且我的程序可以正常运行。但是,现在我需要 freetype模块但是当我尝试时:

import cv2 as cv
ft = cv.freetype.createFreeType2()

它抛出 AttributeError如标题所示。我尝试重新安装不同的版本,即: 4.0.0.21, 4.0.1.23, 4.0.1.24, 4.1.0.25无济于事。我主要使用 headless 版本(因为我使用的是 docker 并且我不需要任何 gui 功能)。我发现的另一件事是,并非我尝试过的所有模块都可以导入(ccalib、tracking、sfm、xobjdetect 等),并且这些模块抛出相同的错误。这是否意味着某些模块无法通过 pip3 获得?安装?谢谢你。

最佳答案

我对这个问题已经很晚了,但我希望这对某人有所帮助。

我在底部添加了一个易于遵循的指南的链接。

以下是您需要遵循的基本步骤:

  • 安装 CMake 和 Git(如果您还没有安装)
  • 在文件夹中 git vcpkg (git clone https://github.com/Microsoft/vcpkg.git)
  • 使用 vcpkg 命令行安装 freetype 和 harfbuzz
  • bootstrap-vcpkg.bat
  • vcpkg install freetype:x64-windows
  • vcpkg install harfbuzz:x64-windows
  • 找到 vcpkg.cmake 文件并记下其路径
  • 确保在 Visual Studio 19 中安装了 C++ 构建工具
  • 下载并解压 OpenCV 和 OpenCV contrib
  • 在提取的 OpenCV 中创建一个名为“build”的空目录
  • 修改 opencv-contrib 中 freetype 模块文件夹内的 CMakeLists.txt ( Link )
  • 修改并运行以下命令:
  • cmake -G "Visual Studio 16 2019"
    -B D:\code\downloads\opencv-4.3.0\build
    -D BUILD_NEW_PYTHON_SUPPORT=ON
    -D BUILD_PYTHON_SUPPORT=ON
    -D BUILD_opencv_python3=yes
    -D PYTHON_DEFAULT_EXECUTABLE=D:\anaconda3\python.exe
    -D OPENCV_SKIP_PYTHON_LOADER=ON
    -D PYTHON_LIBRARY=D:\anaconda3\libs\python36.lib
    -D OPENCV_EXTRA_MODULES_PATH=D:\code\downloads\opencv_contrib-4.3.0\modules
    -D OPEN_CV_FORCE_PYTHON_LIBS=yes
    -D CMAKE_TOOLCHAIN_FILE=D:\code\downloads\vcpkg\scripts\buildsystems\vcpkg.cmake
  • 使用 CMake GUI 进行此链接中引用的更改 ( LINK )
  • 进行必要的更改后,单击配置和生成。
  • 使用 Visual Studio 19 构建调试和发布版本
  • 通过从您设置的环境中导入 cv2.freetype 来测试安装。

  • 这里有一份全面的书面指南:
  • https://github.com/BabaGodPikin/Build-OpenCv-for-Python-with-Extra-Modules-Windows-10

  • 另外,我制作了一个受同一教程启发的视频,可以在这里找到:
  • https://youtu.be/9YUDx3qzKwY

  • 我建议您观看视频并将本指南放在一边。

    干杯!

    关于python - 属性错误 : module 'cv2.cv2' has no attribute 'freetype' in OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961893/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com