HMCameraSnapshot 到 UIImage
HMCameraSnapshot to UIImage
我正在玩 homekit 相机设备,我可以在其中获取流视频并将其显示在 HMCameraView 中。我需要拍摄这个视频流的快照,这可以使用 cameraSnapshotControl 函数来完成。效果很好我可以看到使用委托函数:HMCameraSnapshotControlDelegate 拍摄快照。然而,我花了几个小时寻找如何将这个快照转换为像 UIImage 这样的基本图像......我不需要显示这个图像但分析它(CoreML)。有人已经尝试过了吗?似乎没有人使用 Homekit Apple 框架编写代码...
我只是 运行 遇到了同样的问题,但我在 Apple 的官方文档中找不到任何解释如何操作的内容。在玩了一些东西之后,我最终发现你可以通过在 HMCameraView 上设置 cameraSource
属性 来做到这一点,它接受视频流和快照。
@IBOutlet weak var cameraLiveStreamView: HMCameraView!
...
func cameraSnapshotControl(_ cameraSnapshotControl: HMCameraSnapshotControl, didTake snapshot: HMCameraSnapshot?, error: Error?) {
cameraLiveStreamView?.cameraSource = cameraSnapshotControl.mostRecentSnapshot
}
希望对您有所帮助!
我正在玩 homekit 相机设备,我可以在其中获取流视频并将其显示在 HMCameraView 中。我需要拍摄这个视频流的快照,这可以使用 cameraSnapshotControl 函数来完成。效果很好我可以看到使用委托函数:HMCameraSnapshotControlDelegate 拍摄快照。然而,我花了几个小时寻找如何将这个快照转换为像 UIImage 这样的基本图像......我不需要显示这个图像但分析它(CoreML)。有人已经尝试过了吗?似乎没有人使用 Homekit Apple 框架编写代码...
我只是 运行 遇到了同样的问题,但我在 Apple 的官方文档中找不到任何解释如何操作的内容。在玩了一些东西之后,我最终发现你可以通过在 HMCameraView 上设置 cameraSource
属性 来做到这一点,它接受视频流和快照。
@IBOutlet weak var cameraLiveStreamView: HMCameraView!
...
func cameraSnapshotControl(_ cameraSnapshotControl: HMCameraSnapshotControl, didTake snapshot: HMCameraSnapshot?, error: Error?) {
cameraLiveStreamView?.cameraSource = cameraSnapshotControl.mostRecentSnapshot
}
希望对您有所帮助!