AttributeError:模块'cv2.cv2'在OpenCV中没有属性'freetype'

时间:2019-05-03 00:38:05

标签: ubuntu-18.04 freetype2 opencv4

我正在使用安装了最少软件包的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无济于事。我主要使用无头版本(因为我使用的是docker,不需要任何GUI功能)。我发现的另一件事不是我尝试过的所有模块都可以导入(ccalib,tracking,sfm,xobjdetect等),并且这些模块抛出相同的错误。这是否意味着某些模块无法通过pip3安装?谢谢。

1 个答案:

答案 0 :(得分:1)

这个问题我来晚了,但是我希望这对某人有帮助。

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

这是必不可少的步骤,您需要遵循以下步骤:

  • 安装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贡献
  • 在提取的OpenCV中创建一个名为“ build”的空目录
  • 在opencv-contrib(Link)的freetype模块文件夹中修改CMakeLists.txt
  • 修改并运行以下命令:
    • 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构建DEBUG和RELEASE版本
  • 通过从您设置的环境中导入cv2.freetype来测试安装。

这里有一份全面的书面指南:

此外,我也制作了一个受同一教程启发的视频,该视频可以在这里找到:

我建议您观看视频,并保持侧面打开本指南。

干杯!