OpenCV Python 脚本 Mac "aborts"
OpenCV Python Scripts Mac "aborts"
所以我只是想 运行 基本的 OpenCV 程序
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)
# Display the resulting frame
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
但出于某种原因,当我尝试 运行 它(使用 python 2 或 3)时,我得到了这个奇怪的中止语句
[1] 74309 abort python3 index.py
(我猜 5 位数字是 PID)但是,如果我在 VideoCapture 函数中传入一个已经存在的视频的路径,它确实有效。我是所有这一切的初学者,所以我不太确定问题出在哪里
谢谢:)
我找到了解决办法!
我尝试 运行 使用 mac 附带的默认终端的脚本并且它有效:)所以我使用的第三方终端 (iTerm) 似乎有一些奇怪的问题
您必须授权 iTerm 访问相机(在系统偏好设置中)。默认情况下,Terminal 和 iTerm 都没有这个权限。 macOS Mojave 只要求允许 iTerm,您的 Python 程序运行良好!
这不是 iTerm 的问题,或者 是 的问题。
我在 VSCode
运行ning OpenCV
遇到了同样的问题。结果确实是访问新macOS
上的摄像头的权限错误。我无法 VSCode
请求权限(或通过系统偏好设置手动添加)。
我的解决方案是 运行 VSCode
作为 root
使用
sudo /Applications/Visual Studio Code.app/Contents/MacOS/Electron
这不是最干净的解决方案,但对我有用。
在VSCode、
1.type cmd+shift+p
2.type "shell command: Install code in PATH"
3. Close vscode
4. Use "sudo code" to open vscode
5. It will give warning not to run as a root user
6. Ignore the warning and run the file , you will not get the "Abort trap: 6" error anymore.
所以我只是想 运行 基本的 OpenCV 程序
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)
# Display the resulting frame
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
但出于某种原因,当我尝试 运行 它(使用 python 2 或 3)时,我得到了这个奇怪的中止语句
[1] 74309 abort python3 index.py
(我猜 5 位数字是 PID)但是,如果我在 VideoCapture 函数中传入一个已经存在的视频的路径,它确实有效。我是所有这一切的初学者,所以我不太确定问题出在哪里
谢谢:)
我找到了解决办法! 我尝试 运行 使用 mac 附带的默认终端的脚本并且它有效:)所以我使用的第三方终端 (iTerm) 似乎有一些奇怪的问题
您必须授权 iTerm 访问相机(在系统偏好设置中)。默认情况下,Terminal 和 iTerm 都没有这个权限。 macOS Mojave 只要求允许 iTerm,您的 Python 程序运行良好! 这不是 iTerm 的问题,或者 是 的问题。
我在 VSCode
运行ning OpenCV
遇到了同样的问题。结果确实是访问新macOS
上的摄像头的权限错误。我无法 VSCode
请求权限(或通过系统偏好设置手动添加)。
我的解决方案是 运行 VSCode
作为 root
使用
sudo /Applications/Visual Studio Code.app/Contents/MacOS/Electron
这不是最干净的解决方案,但对我有用。
在VSCode、
1.type cmd+shift+p 2.type "shell command: Install code in PATH" 3. Close vscode 4. Use "sudo code" to open vscode 5. It will give warning not to run as a root user 6. Ignore the warning and run the file , you will not get the "Abort trap: 6" error anymore.