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.8
27 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
28 CALL :QUERY_PYTHON 3.7
29 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
30 CALL :QUERY_PYTHON 3.6
31 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
32 CALL :QUERY_PYTHON 3.5
33 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
34 CALL :QUERY_PYTHON 3.4
35 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
36 CALL :QUERY_PYTHON 2.7
37 IF %ERRORLEVEL% EQU 0 GOTO :PYTHON_FOUND
38 GOTO :PYTHON_NOT_FOUND
44 CALL :regquery "HKCU\SOFTWARE\Python\PythonCore\%PY_VERSION%\InstallPath" PYTHON_DIR
45 IF EXIST "%PYTHON_DIR%\python.exe" (
46 SET "PYTHON=%PYTHON_DIR%\python.exe"
47 GOTO :QUERY_PYTHON_FOUND
49 CALL :regquery "HKLM\SOFTWARE\Python\PythonCore\%PY_VERSION%\InstallPath" PYTHON_DIR
50 IF EXIST "%PYTHON_DIR%\python.exe" (
51 SET "PYTHON=%PYTHON_DIR%\python.exe"
52 GOTO :QUERY_PYTHON_FOUND
55 ::echo Python %PY_VERSION% is not detected
60 ECHO Found Python %PY_VERSION% from Windows Registry: %PYTHON%
61 ENDLOCAL & SET PYTHON=%PYTHON%
64 IF exist C:\Python27-x64\python.exe (
65 SET PYTHON=C:\Python27-x64\python.exe
68 IF exist C:\Python27\python.exe (
69 SET PYTHON=C:\Python27\python.exe
74 ECHO ERROR: Python not found
75 IF NOT DEFINED OPENCV_BATCH_MODE ( pause )
79 ECHO Using Python: %PYTHON%
81 :: Don't generate unnecessary .pyc cache files
82 SET PYTHONDONTWRITEBYTECODE=1
84 IF [%1]==[] goto rundemo
86 set SRC_FILENAME=%~dpnx1
87 echo SRC_FILENAME=%SRC_FILENAME%
88 call :dirname "%SRC_FILENAME%" SRC_DIR
89 call :dirname "%PYTHON%" PYTHON_DIR
92 CALL "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%"
94 SET "SCRIPT_DIR=%~dp0"
98 SET result=%errorlevel%
100 IF NOT DEFINED OPENCV_BATCH_MODE (
101 SET "PATH=%PYTHON_DIR%;%PATH%"
102 echo ================================================================================
103 echo ** Type 'python sample_name.py' to run sample
104 echo ** Type 'exit' to exit from interactive shell and open the build directory
105 echo ================================================================================
106 cmd /k echo Current directory: %CD%
114 PUSHD "%SCRIPT_DIR%\python"
116 CALL "%BUILD_DIR%\%OPENCV_SETUPVARS_SCRIPT%"
118 SET "SCRIPT_DIR=%~dp0"
121 SET result=%errorlevel%
123 IF NOT DEFINED OPENCV_BATCH_MODE ( pause )
130 :dirname file resultVar
133 set _dir=%_dir:~0,-1%
134 endlocal & set %2=%_dir%
137 :regquery name resultVar
139 FOR /F "tokens=*" %%A IN ('REG QUERY "%1" /reg:64 /ve 2^>NUL ^| FIND "REG_SZ"') DO SET _val=%%A
140 IF "x%_val%x"=="xx" EXIT /B 1
141 SET _val=%_val:*REG_SZ=%
142 FOR /F "tokens=*" %%A IN ("%_val%") DO SET _val=%%A
143 ENDLOCAL & SET %2=%_val%