2015-05-12 79 views
0

我想通過Harris角點檢測器檢測矩形及其邊角。它包含的角落塊:如何從GPUImageHarrisCornerDetector獲取拐角的座標?

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

的問題是,cornerArray的類型GLfloat的,它返回0和1之間的值,我不知道如何創造這樣CGPoint x和y的值。任何想法如何實現這一目標?

謝謝!

回答

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,則需要添加原點。