我想识别UI
ImageView(或UI
Image)中的正方形/矩形.
我看了“Very simple image recognition on iOS”,但那不是我正在看的东西.
目前我有一个UIImageView,它不时被赋予UIImage.
大多数UIImagees都有黑色方块/矩形,如下所示:
.
但角落可能(或可能不)具有圆形边缘.
如何识别第一个黑色方块/矩形的大小?
最终的结果是调整我的UIImageView的大小,使UIImage中的第一个黑色方块填满屏幕.像这样:
解决方法
如果您的图像在水平行中始终是清晰的黑色方块,则可以使用角点检测来识别矩形,然后选出最左边的四个角.基于Harris,Noble和Shi-Tomasi角点检测方法,我的开源
GPUImage框架中有三种角点检测器.
对你的盒子运行GPUImageHarrisCornerDetectionFilter,阈值为0.4,灵敏度为4.0,结果如下:
它们有点难以看到,但是红色十字准线标志着探测器找到了盒子的角落.同样,您只需要取最左边的四个点来查找目标矩形,然后只需缩放图像或视图,以便此矩形现在填充您的视图.
可以在我的框架中的FilterShowcase或FeatureExtractionTest示例中找到如何运行此类功能检测的示例.我描述了我在this answer在Signal Processing上执行此操作的过程.