ios - Xcode, iOS - 图像线条/形状识别

标签 ios image-processing uiimageview uiimage

我想在我的 UIImageView(或 UIImage)中识别正方形/矩形。

我查看了“Very simple image recognition on iOS”,但这并不是我要查找的内容。

目前我有一个 UIImageView,它会不时地被赋予一个 UIImage

大多数 UIImagees 都有像这样的黑色正方形/矩形: img . 但是角可能(也可能没有)有圆角。

如何确定第一个黑色正方形/矩形的大小? 最终结果是调整我的 UIImageView 的大小,使 UIImage 中的第一个黑色方 block 填满屏幕。像这样: img With iPhone

最佳答案

如果您的图像始终是水平行中的锐利黑色方 block ,您可以使用角点检测来识别矩形,然后挑出最左边的四个角。我的开源中有角检测器的三种变体 GPUImage基于 Harris、Noble 和 Shi-Tomasi 角点检测方法的框架。

对阈值为 0.4 且灵敏度为 4.0 的框运行 GPUImageHarrisCornerDetectionFilter 会产生以下结果:

Harris corner detection results

它们有点难看,但红色十字准线标记了检测器发现您的盒子角的位置。同样,您只需使用最左边的四个点来找到您的目标矩形,然后简单地缩放您的图像或 View ,使该矩形现在填满您的 View 。

可以在我的框架中的 FilterShowcase 或 FeatureExtractionTest 示例中找到有关如何运行此类特征检测的示例。我在 this answer 中描述了执行此操作的过程在信号处理。

关于ios - Xcode, iOS - 图像线条/形状识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12342049/

相关文章:

ios - GLSL 着色器错误 "Constructor calls may not have precision"

ios - 内置联系人应用程序是否有自定义 URL 方案?

C++ 模板类 : template paramaters given at runtime, 如何避免重复的大型开关案例?

swift3 - Swift Imageview 通告

ios - 如何在单元格之间放置 UIImageView?

ios - 具有倍增效果的 Swift UIView

ios - 从不正确的线程访问的 Realm 。 iOS 最佳实践

ios - localizedCaseInsensitiveContainsString 在 Swift 中不可用

algorithm - 图像抓取和索引算法(通过图像的颜色)和文本搜索给出相应的图像

image - ASIFT 和 SIFT 的替代解决方案?