javascript - OSError : [WinError 193] %1 is not a valid Win32 application opencv. js

标签 javascript python opencv subprocess command-prompt

我尝试从 the tutorial 构建 opencv.js在他们的页面上。

除了最后一步之外,我已经完成了所有步骤:

C:\Users\student>python C:\Users\student\opencv\platforms\js\build_js.py documents

这给了我这个错误:

Args: Namespace(build_dir='documents', build_doc=False, build_test=False, build_wasm=False, clean_build_dir=False, config_only=False, emscripten_dir=None, enable_exception=False, opencv_dir='C:\\Users\\student\\opencv', skip_config=False)
Cannot get Emscripten path, please specify it either by EMSCRIPTEN environment variable or --emscripten_dir option.

那我试试用这个

C:\Users\student>python C:\Users\student\opencv\platforms\js\build_js.py --emscripten=C:\Users\student\emsdk\emscripten\1.37.36 documents

使用 --emscripten 选项,但我得到的是这个:

Args: Namespace(build_dir='documents', build_doc=False, build_test=False, build_wasm=False, clean_build_dir=False, config_only=False, emscripten_dir='C:\\Users\\student\\emsdk\\emscripten\\1.37.36', enable_exception=False, opencv_dir='C:\\Users\\student\\opencv', skip_config=False)
Check dir C:\Users\student\documents (create: True, clean: False)
Check dir C:\Users\student\opencv (create: False, clean: False)
Check dir C:\Users\student\emsdk\emscripten\1.37.36 (create: False, clean: False)
Traceback (most recent call last):
  File "C:\Users\student\opencv\platforms\js\build_js.py", line 215, in <module>
    builder = Builder(args)
  File "C:\Users\student\opencv\platforms\js\build_js.py", line 84, in __init__
    self.emcc_version = determine_emcc_version(self.emscripten_dir)
  File "C:\Users\student\opencv\platforms\js\build_js.py", line 62, in determine_emcc_version
    ret = subprocess.check_output([os.path.join(emscripten_dir, "emcc"), "--version"])
  File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 403, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
OSError: [WinError 193] %1 is not a valid Win32 application

我已经搜索了将近 2 天的这个问题,但没有解决。

我使用的是 Windows 10 64 位。

最佳答案

打开opencv\platforms\js\build_js.py文件,并替换这一行:

ret = subprocess.check_output([os.path.join(emscripten_dir, "emcc"), "--version"])

用这个:

ret = subprocess.check_output([os.path.join(emscripten_dir, "emcc.bat"), "--version"])

希望这会在下一个 opencv 版本中得到修复。

关于javascript - OSError : [WinError 193] %1 is not a valid Win32 application opencv. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49748702/

相关文章:

Javascript 和 jQuery 文件结构

python - 这是我的函数或 Python 中的 docx.Document 的缺陷吗

python - 如何使 simplejson 可序列化类

c++ - Opencv 断言因暗网而失败

python - 如何从手绘电路的扫描图像中检测逻辑门?

python - 在 Pillow 和 OpenCV 中打开的图像并不相同

javascript - 在 contenteditable 中查找光标目标元素 id

javascript - 在每次点击时检查位置并添加类

javascript - 使用 javascript 进行远程 => true 调用

python - 在 Python 中打破没有空格的长字符串