我正在使用计算机视觉和 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/