Preparação
Plataforma e Software
- Sistema Windows10
- Visual Studio 2019:Visual Studio Community 2019
- Cmake: cmake-3.20.0-rc3-windows-x86_64.msi
- OpenCV 4.51:opencv-4.5.1.tar.gz
- OpenCV_contrib 4.5.1:opencv_contrib-4.5.1.tar.gz
Driver NVIDIA, CUDA e cuDnn
Selecione o driver apropriado e a versão CUDA e a versão correspondente do cudnn e instale o ambiente win10.
Instale e baixe o VS 2019, cmake, opencv e o código-fonte do módulo de extensão
VS 2019 baixe e instale
cmake baixar e instalar
download opencv e opencv_contrib
link de download opencv
opencv_contrib
Código de extração de download da nuvem Baidu :lujx
Nota: Clique na Tag no canto superior esquerdo, selecione a versão 4.5.4, selecione a mesma versão para opencv e opencv_contrib
Descompacte os arquivos e está pronto
Crie opencv_cuda
uma pasta, descompacte-a opencv
e opencv_contrib
descompacte-a nesta pasta e crie uma pasta de compilação no mesmo diretório do opencv. Neste ponto, os preparativos estão completos.
A estrutura de diretórios é aproximadamente a seguinte:
|-opencv_cuda
|--build
|--opencv_contrib_4.5.4
|--opencv_4.5.4
|---.cache
|---其他原有的解压的子文件
Para evitar falha de compilação devido a falha de download de arquivo durante o primeiro processo de compilação, você precisa copiar a pasta .cache para a pasta de origem opencv descompactada
Compilar OpenCV
CMake compilar
- Abra
cmake-gui
o software, respectivamente adicionewhere is the source code
ewhere to build the binaries
comoopencv源码文件夹
ebuild文件夹
- Primeiro clique em
configure
, selecionevs 2019
ex64
arquitetura, clique emfinish
, inicie a primeira compilação - O processo de compilação precisa baixar várias dependências. Há uma grande probabilidade de que ele fique travado devido a problemas de rede. Copiar a pasta .cache diretamente pode evitar esse problema
- (Esta etapa é opcional) Crie um ambiente virtual, é recomendável usar
anaconda
e instalar numpy no ambiente virtual (necessário para compilação), esta etapa é instalar oCUDA版本
opencv nele虚拟环境
,只安装到宿主机环境不需要执行此步骤
- (Esta etapa é opcional, mas o pré-requisito para realizar esta etapa é que a etapa anterior deve ser executada) Altere algumas variáveis e aponte o caminho para o local correspondente do ambiente virtual:
PYTHON3_EXECUTABLE
,PYTHON3_INCLUDE_DIR
,PYTHON3_LIBRARY
,PYTHON3_NUMPY_INCLUDE_DIRS
,PYTHON3_PACKAGES_PATH
- Após a conclusão da compilação, digite
CUDA
e na caixa Pesquisarfast
e marque três configurações:WITH_CUDA
,OPENCV_DNN_CUDA
,ENABLE_FAST_MATH
- A caixa Pesquisar
world
serábuild_opencv_world
marcada e todas as bibliotecas opencv serão compiladas juntas sem adicionar cada pequeno módulo um por um. - Caixa de pesquisa
BUILD
, marqueBUILD_opencv_python3
- Pesquise na caixa de pesquisa
MODULES
, emOPENCV_EXTRA_MODULES_RATH
um item, adicione oopencv_contrib4.5.1
diretóriomodules
- caixa de pesquisa pesquisa
NON
,OPENCV_ENABLE_NONFREE
marque - Clique uma segunda vez
configure
e aguarde a exibição do log abaixoconfigure done
- Digite na caixa de pesquisa
cuda
, marque-aCUDA_FAST_MATH
eCUDA_ARCH_BIN
altere o conteúdo de poder de computação da placa gráfica para o poder de computação de sua própria placa gráfica. O poder de computação correspondente e o modelo da placa gráfica são mostrados na figura no Capítulo 1. Por exemplo, se o modelo da placa gráfica é e o poder de computação correspondente é ,GTX 1050
exclua-6.1
o Para outras versões de poder de computação, apenas mantenha-6.1
o - Clique em configurar novamente, desta vez o Configuring done está finalmente OK, então clique em Generate, espere um momento até que Generating done apareça!
- Clique em Open Project e ele iniciará seu Visual Studio.
VS compilar
-
Depois que o VS2019 abrir o projeto recém-compilado, ele responderá por um tempo. Você deve esperar que todos os itens exibidos no canto inferior esquerdo sejam carregados antes de prosseguir.
-
Selecione
Release ``x64
, encontreCmakeTargets
o próximoALL_BUILD
, clique com o botão direito do mouse → "Gerar" e inicie uma longa espera ... (O notebook i7-9750H compila por cerca de 65 minutos, apenas para referência) -
解决方案资源管理器
—>CMakeTargets
—>INSTALL
—>生成
"Então espere novamente, felizmente este tempo é muito curto. Neste momento,opencv_cuda\build\lib\python3\Release
você pode ver os arquivos na pastacv2.cp36-win_amd64.pyd
(diferentes versões do python, os nomes serão ligeiramente diferentes) -
Ao mesmo tempo, no ambiente virtual ou ambiente de host, você pode
Lib\site-packages
vercv2
a pasta no caminho
Verifique o ambiente opencv
Use a linha de comando para entrar no ambiente python e execute o código para verificar:
c:\users\administrator> python
>>> import cv2
>>> cv2.cuda.getCudaEnabledDeviceCount()
1 # 得到GPU设备数量,即表示opencv的GPU版本已经安装成功