ios - Swift - 从实时摄像机中获取静止帧并将它们输入 Vision 框架
问题描述
注意:我对 Swift 几乎是全新的,所以如果这似乎是一个明显的答案,我深表歉意
我正在尝试编写一个应用程序来检测人们在做运动(想想跳千斤顶)并用它来控制一个简单的游戏。我设置了一个摄像头供稿并在屏幕上显示,但我不知道如何从中获取它可以分析的静止图像/帧。我的第二个问题是,即使我知道该怎么做,我也不知道如何将这些图像输入 Vision 框架来分析它们。这是我的代码:
class ViewController2: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
labelchange()
//If it says to put it in the viewDidLoad function put it under here
self.addCameraInput()
self.showCameraFeed()
self.captureSession.startRunning()
} //Do any additional setup after loading the view
@IBOutlet var thingtext : UILabel!
func labelchange() {
if typeChosen == "ice" {
thingtext.text = "You're doing " + exercise + " for an " + typeChosen + " attack!"
}
else {
thingtext.text = "You're doing " + exercise + " for a " + typeChosen + " attack!"
}
}
private let captureSession = AVCaptureSession()
private func addCameraInput() {
guard let device = AVCaptureDevice.DiscoverySession(
deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera],
mediaType: .video,
position: .front).devices.first else {
fatalError("No back camera device found, please make sure to run SimpleLaneDetection in an iOS device and not a simulator")
}
let cameraInput = try! AVCaptureDeviceInput(device: device)
self.captureSession.addInput(cameraInput)
}
private lazy var previewLayer = AVCaptureVideoPreviewLayer(session: self.captureSession)
private func showCameraFeed() {
self.previewLayer.videoGravity = .resizeAspectFill
self.view.layer.addSublayer(self.previewLayer)
self.previewLayer.frame = self.view.frame
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.previewLayer.frame = self.view.frame
}
}
如果有人可以帮助我,将不胜感激。
解决方案
推荐阅读
- azure - 将 SSL 绑定到 Azure 容器实例
- redis - 如何在 jhipster 中为 redis 配置密码?
- apache-kafka - Kafka 服务器无法使用 KAFKA SASL OAUTH 启动
- python - OpenCV拉普拉斯金字塔:大小不正确
- kubernetes - 如何通过 Client-go 为 kubernetes Loadbalancer Service 设置 EXTERNAL-IP?
- azure-logic-apps - 逻辑应用 http 触发器提供无法解析的主机名
- angular - Bootstrap 4 模态和 Angular 8 的问题
- python-3.x - 每次变量更改时,PYQT5 在第二个窗口中更新标签
- winapi - API CreateFont 中使用的默认字体高度是多少?它如何选择字体?
- ios - Swift - 将 SceneDelegate 与 Storyboard 一起使用:未附加场景