我在 Debian Linux 和 Python 3.6.5 上运行该应用程序没有问题。也许您需要在 python 虚拟环境中运行它以确保某些已安装的包不会干扰。 Linux 使用说明:
- 将 git 克隆到本地文件夹:
git clone https://github.com/victordibia/skyfall
- 在附近的文件夹中创建python3虚拟环境:
使用包管理器安装python3-venv 包。运行:
python3 -m venv skyfall_venv
那么
source skyfall_venv/bin/activate
现在您处于虚拟环境中,该环境在您的 shell 中显示。做
(skyfall_venv): pip install --upgrade pip
如果不行,就做
(skyfall_venv): pip3 install --upgrade pip
在您的 venv 中获得最新的点数。
3.然后编辑skyfall/requirements.txt,去掉git前面多余的-e,一定是下面这样:
Flask==0.12.2
opencv_python==3.4.0.12
numpy==1.14.2
tensorflow==1.7.0
protobuf==3.5.2.post1
websocket_client==0.47.0
git+https://github.com/dpallot/simple-websocket-server.git
在 venv 中运行:
(skyfall_venv): pip install -r requirements.txt(或pip3,如果前者不起作用)
4.您应该看不到任何错误。在 venv 中运行应用程序:
(skyfall_venv): cd skyfall
(skyfall_venv): python app.py(如果前者不起作用,则为 python3)
我看到带有手势识别的窗口,如果我在浏览器中打开应用程序建议的网址,我可以玩游戏。
cvcam.py:
import cv2
cap = cv2.VideoCapture(0)
# Check if the webcam is opened correctly
if not cap.isOpened():
raise IOError("Cannot open webcam")
while True:
ret, frame = cap.read()
frame = cv2.resize(frame, None, fx=0.5, fy=0.5, interpolation=cv2.INTER_AREA)
cv2.imshow('Input', frame)
c = cv2.waitKey(1)
if c == 27:
break
cap.release()
cv2.destroyAllWindows()