这是一个典型的计算机视觉任务(它甚至可能是人工智能完成的),所以这并不容易。但是,有一个出色的开源 C++ 库,称为OpenCV,它适用于 iOS。我什至找到了一个关于检测有色物体的教程。
顺便说一下,基本算法是这样的:遍历每个像素,看看它是否是红色的(你可以通过将它与红色、绿色和蓝色分量的某种阈值进行比较来做到这一点)。如果这样做了,请抓住好的像素并找出它们所在的连续区域。一种方法是计算像素,然后假设它们形成一个圆圈,然后将它们的数字除以 pi 并得到平方根 - 这将告诉你圆的半径,你可以加倍以获得它的直径(“宽度”)。