【问题标题】:CIDetector to detect any objects bounding boxCIDetector 检测任何物体边界框
【发布时间】:2019-06-23 21:11:19
【问题描述】:
想象一下有一个像这样的图像数组
背景总是白色的(即使在第三张照片中,主要对象也是那个带有形状的棕色大矩形)
无论图像的给定类型如何,您都需要:
1)找到主要对象边界矩形
2)像这样裁剪出来
3) 并将其放置在空白方形图像的中心。
您将如何实现这一目标?我已经知道如何裁剪任何已知矩形并将其放置在任何地方,但我只需要知道哪种方式最适合迈出第一步。
Vision API 可以检测矩形、人脸和条形码,但我需要的似乎更简单。
我只需要找到最左边、最右边、顶部和底部的非白色像素,这将是我的界限。
除了为每个像素迭代pixelBuffer之外还有什么办法吗?
【问题讨论】:
标签:
swift
macos
core-image
vision
【解决方案1】:
这些图片的类型是什么? UIImage? CAShapeLayer?在大多数情况下,您应该能够从数组中的每个图像中获取 .frame,这将为您提供 CGRect X 和 Y 原点坐标,以及高度和宽度尺寸。您还应该可以访问.midX 和.midY 坐标,或.center.x 和.center.y 来找到您正在寻找的中点。除非您正在谈论的是采用 .jpg 或 .png 之类的扁平位图并在内容上运行一些形状检测,在这种情况下,您将需要 Vision 之类的东西来完成您想要做的事情。