如何从GPUImageHarrisCornerDetector获取角点坐标?

时间:2015-05-12 16:37:01

标签: ios objective-c swift gpuimage

我想通过哈里斯角探测器探测矩形及其角落。它包含一个带角落的块:

            filter.cornersDetectedBlock = { (cornerArray:UnsafeMutablePointer<GLfloat>, cornersDetected:UInt, frameTime:CMTime) in

问题是,cornerArray是GLfloat类型,它返回0到1之间的值。我不知道如何用x和y值创建类似CGPoint的东西。任何想法如何实现这一目标?

谢谢!

1 个答案:

答案 0 :(得分:1)

我不知道具体细节,但一般来说你必须进行插值。

我假设您正在获取x和y的值,范围从0到1,其中0是左/下边缘,1是右/上边缘?

您只需要布置比率并从一个坐标系转换为另一个坐标系。

0 ... 1000 是的 0 ... 1

.5       x
----  = ----
 1      1000

x * 1 = 0.5 * 1000
x = 0.5 * 1000 / 1
x = 500

因此,如果你得到一个值0.5,它将介于0和1000之间。(1000-0)* 0.5。如果您的像素矩形的原点为0,0,则只需将0..1 x值乘以宽度,将0..1 y值乘以像素高度即可。如果像素原点不为0,则需要添加原点。