ios - 在 iOS 上将 ARKit 与 Metal 结合使用时如何过滤掉模糊图像?

标签 ios computer-vision gpu arkit metal

我正在使用计算机视觉和 ARKit 来检测矩形并跟踪它们(如此处的 Apple 示例:https://developer.apple.com/documentation/arkit/tracking_and_altering_images)。我发现它有点不可靠,因为有时它会开始尝试跟踪对象的离焦版本,并且当对象进入焦点时,ARReferenceImage 和实际图像不再匹配,因此跟踪变得非常不可靠。有没有一种快速的方法可以忽略模糊的图像?我在网上搜索了一下,发现可以使用 OpenCV 来获取拉普拉斯算子的方差,但是,我很好奇如何使用 Swift 通过 GPU 加速的 Metal 性能着色器来做到这一点?

最佳答案

事实证明,MPS 具有名为 MPSImageLaplacian 和 MPSImageStatisticsMeanAndVariance 的内置着色器,当它们结合使用时,可以可靠地用于检测模糊图像并忽略它们。我已经在 Medium 上记录了我如何在 Swift 中执行此操作的详细信息:https://medium.com/@salqadri/blur-detection-via-metal-on-ios-16dd02cb1558

关于ios - 在 iOS 上将 ARKit 与 Metal 结合使用时如何过滤掉模糊图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58356274/

相关文章:

opencv - 为什么我们使用SURF描述符?

computer-vision - 用玻璃覆盖的棋盘校准相机

math - 如何计算 Asus Xtion Pro Live 传感器的可见边界

c++ - OpenCV 3.4 C++ Cuda加速比CPU耗时更多

google-cloud-platform - GCP - GPU 暂存时间减少

multithreading - “threadgroup_barrier”没有区别

ios - 在 NSFetchRequestController 中使用带有复杂 NSPredicate 的 NSFetchRequest

ios - EVReflection + Moya + Realm + RxSwift - 无法为类型 dict 创建实例

ios - 获取缩略图的视频快照

ios - 谷歌表格嵌入 : Broken page in mobile browsers