我想在我的 UIImageView
(或 UIImage
)中识别正方形/矩形。
我查看了“Very simple image recognition on iOS”,但这并不是我要查找的内容。
目前我有一个 UIImageView
,它会不时地被赋予一个 UIImage
。
大多数 UIImage
es 都有像这样的黑色正方形/矩形:
.
但是角可能(也可能没有)有圆角。
如何确定第一个黑色正方形/矩形的大小?
最终结果是调整我的 UIImageView
的大小,使 UIImage
中的第一个黑色方 block 填满屏幕。像这样:
最佳答案
如果您的图像始终是水平行中的锐利黑色方 block ,您可以使用角点检测来识别矩形,然后挑出最左边的四个角。我的开源中有角检测器的三种变体 GPUImage基于 Harris、Noble 和 Shi-Tomasi 角点检测方法的框架。
对阈值为 0.4 且灵敏度为 4.0 的框运行 GPUImageHarrisCornerDetectionFilter 会产生以下结果:
它们有点难看,但红色十字准线标记了检测器发现您的盒子角的位置。同样,您只需使用最左边的四个点来找到您的目标矩形,然后简单地缩放您的图像或 View ,使该矩形现在填满您的 View 。
可以在我的框架中的 FilterShowcase 或 FeatureExtractionTest 示例中找到有关如何运行此类特征检测的示例。我在 this answer 中描述了执行此操作的过程在信号处理。
关于ios - Xcode, iOS - 图像线条/形状识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12342049/