5 SET "OPENCV_SETUPVARS_SCRIPT=setup_vars_opencv4.cmd"
6 SET "BUILD_DIR=%SCRIPT_DIR%\..\..\build"
7 IF NOT EXIST "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%" (
9 SET "BUILD_DIR=%SCRIPT_DIR%\..\..\..\build"
11 IF NOT EXIST "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%" (
12 ECHO ERROR: OpenCV Winpack installation is required
17 for %%i in ("%PACKAGE_BUILD_DIR%") do SET "PACKAGE_BUILD_DIR=%%~fi"
19 :: Detect Python binary
21 IF %ERRORLEVEL% EQU 0 (
26 CALL :QUERY_PYTHON 3.9
27 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
28 CALL :QUERY_PYTHON 3.8
29 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
30 CALL :QUERY_PYTHON 3.7
31 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
32 CALL :QUERY_PYTHON 3.6
33 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
34 CALL :QUERY_PYTHON 3.5
35 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
36 CALL :QUERY_PYTHON 3.4
37 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
38 CALL :QUERY_PYTHON 2.7
39 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
40 GOTO :PYTHON_NOT_FOUND
46 CALL :regquery "HKCU\SOFTWARE\Python\PythonCore\%PY_VERSION%\InstallPath" PYTHON_DIR
47 IF EXIST "%PYTHON_DIR%\python.exe" (
48 SET "PYTHON=%PYTHON_DIR%\python.exe"
49 GOTO :QUERY_PYTHON_FOUND
51 CALL :regquery "HKLM\SOFTWARE\Python\PythonCore\%PY_VERSION%\InstallPath" PYTHON_DIR
52 IF EXIST "%PYTHON_DIR%\python.exe" (
53 SET "PYTHON=%PYTHON_DIR%\python.exe"
54 GOTO :QUERY_PYTHON_FOUND
57 ::echo Python %PY_VERSION% is not detected
62 ECHO Found Python %PY_VERSION% from Windows Registry: %PYTHON%
63 ENDLOCAL & SET PYTHON=%PYTHON%
66 IF exist C:\Python27-x64\python.exe (
67 SET PYTHON=C:\Python27-x64\python.exe
70 IF exist C:\Python27\python.exe (
71 SET PYTHON=C:\Python27\python.exe
76 ECHO ERROR: Python not found
77 IF NOT DEFINED OPENCV_BATCH_MODE ( pause )
81 ECHO Using Python: %PYTHON%
83 :: Don't generate unnecessary .pyc cache files
84 SET PYTHONDONTWRITEBYTECODE=1
86 IF [%1]==[] goto rundemo
88 set SRC_FILENAME=%~dpnx1
89 echo SRC_FILENAME=%SRC_FILENAME%
90 call :dirname "%SRC_FILENAME%" SRC_DIR
91 call :dirname "%PYTHON%" PYTHON_DIR
94 CALL "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%"
96 SET "SCRIPT_DIR=%~dp0"
100 SET result=%errorlevel%
102 IF NOT DEFINED OPENCV_BATCH_MODE (
103 SET "PATH=%PYTHON_DIR%;%PATH%"
104 echo ================================================================================
105 echo ** Type 'python sample_name.py' to run sample
106 echo ** Type 'exit' to exit from interactive shell and open the build directory
107 echo ================================================================================
108 cmd /k echo Current directory: %CD%
116 PUSHD "%SCRIPT_DIR%\python"
118 CALL "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%"
120 SET "SCRIPT_DIR=%~dp0"
123 SET result=%errorlevel%
125 IF NOT DEFINED OPENCV_BATCH_MODE ( pause )
132 :dirname file resultVar
135 set _dir=%_dir:~0,-1%
136 endlocal & set %2=%_dir%
139 :regquery name resultVar
141 FOR /F "tokens=*" %%A IN ('REG QUERY "%1" /reg:64 /ve 2^>NUL ^| FIND "REG_SZ"') DO SET _val=%%A
142 IF "x%_val%x"=="xx" EXIT /B 1
143 SET _val=%_val:*REG_SZ=%
144 FOR /F "tokens=*" %%A IN ("%_val%") DO SET _val=%%A
145 ENDLOCAL & SET %2=%_val%