2017-07-05 101 views
0

目前,我使用OpenCV進行對象跟蹤。當OpenCV返回對象所在的關鍵點時,它們超出了iPhone屏幕的範圍。我在想,爲了快速使用這些點,需要進行某種轉換。將OpenCV關鍵點轉換爲CGPoint

有誰知道需要完成的轉換嗎?

任何幫助,將不勝感激。

回答

0

cvPoint值是圖像座標(如果跟蹤算法是有效的)。您可以使用cvCircle在圖像上標記這些點,然後在iPhone屏幕上顯示圖像以檢查它們是否有效。 使用UIImageView在屏幕上顯示圖像時,顯示圖像的大小可能與圖像分辨率不一致。在這種情況下,如果要在圖像上放置某些東西,則需要縮放座標。例如,請參閱here

+0

我發現這就是我的問題所在。任何想法如何做到這一點?我一直在劃分由倍數返回的(x,y)座標,像素分辨率大於iPhone的屏幕大小。例如,iPhone 6 +的像素分辨率爲1920X1080,屏幕尺寸爲736X414。當你分割每個colXrow時,你會得到2.6。 2.6的價值是我一直在劃分我的座標。這是我應該考慮的正確方法嗎? – NFarrell

+0

如果您只想查看結果,最好的方法是使用cv :: Circle,cv :: Line,cv :: rectangle等在實際圖像上繪製標記。但是,如果您想添加按鈕,查看或其他控件使用結果,你必須按照你所提到的縮小結果。 http://www.appcoda.com/face-detection-core-image/上的教程解釋瞭如何做到這一點。 – Totoro

+0

謝謝龍貓,我會給你一個鏡頭 – NFarrell