macos - 从 Pycharm 访问 Mac 相机
问题描述
我想使用 Mac 相机拍摄视频。我正在使用 opencv4.0.0 库来捕获和编写视频。使用终端:
python main.py
我可以访问 Mac 相机,但是当我使用 Pycharm 编辑器执行相同的命令时,我遇到了以下问题:
这可能是因为我应该启用 Pycharm 从 Security & Privacy -> Privacy -> Camera 访问相机。我通过谷歌搜索,我无法弄清楚如何将 PyCharm 添加到隐私部分。你有什么建议吗?
这是我的代码:
from cv2 import VideoCapture, imshow, waitKey, destroyAllWindows,
VideoWriter, VideoWriter_fourcc
cap = VideoCapture(0)
video_codec = VideoWriter_fourcc(*'XVID')
output = VideoWriter("usb_webcam.avi", video_codec, 20.0, (640, 480))
while(True):
ret, frame = cap.read()
imshow(winname="frame", mat=frame)
output.write(image=frame)
if waitKey(delay=20) & 0xFF == ord('q'):
break
cap.release()
output.release()
destroyAllWindows()
解决方案
建议的解决方案都不适合我。
经过一番研究,Lev Sokolov 对jetbrains 问题部分的评论帮助我解决了这个问题。
- 打开 Xcode
- 文件 > 新项目
- 选择 macOS 应用程序
- 填写项目信息:
- 产品名称:
pycharm
- 组织标识符:
com.jetbrains
- 确保您获得的 Bundle 标识符是:
com.jetbrains.pycharm
- 语:
Swift
- 用户界面:
Storyboard
- 产品名称:
- 在新项目编辑文件中添加带有一些描述
Info.plist
的新属性Privacy - Camera Usage Description
Give me my camera access!
在函数的
AppDelegate.swift
文件中applicationDidFinishLaunching
插入以下代码请求摄像头访问:import AVKit ... func applicationDidFinishLaunching(_ aNotification: Notification) { // Insert code here to initialize your application AVCaptureDevice.requestAccess(for: .video) { _ in } }
运行应用程序。
- 当提示允许相机访问
pycharm
应用程序时,允许它(从这一刻起,您还将在 mac Security&Privacy 的“相机”选项卡中看到 pycharm 应用程序) - 退出 Xcode,重启 PyCharm
- 享受从 PyCharm 访问相机的乐趣
推荐阅读
- swagger - 使用 Swashbuckle 对 Swagger 页面的 Schemas 部分进行排序
- html - Flexbox 列表对齐在 3 个元素行上的元素之间留出空间
- r - 如何将代码覆盖率的阈值提供给 covr(R 代码覆盖率)
- javascript - 如何在 onChange 中使用 e.preventDefault 来选择标签
- node.js - 节点 js 服务器未获取更新的文件
- swift - 我的 BeizerPath 在我的标签之上。我怎样才能让我的标签出现在上面?
- java - IntelliJ 无法识别 JUnitRuleMockery 中的模拟方法
- javascript - Google 的标签管理器将 ```jsx 添加到我的网站,这个标签有什么用?
- c++ - c ++运算符==在链表中重载
- c++ - 避免 SPSC 队列索引的错误共享