2014-02-05 159 views
2
Point p1(faces[i].x + (eyes[j].x + eyes[j].width*0.5), faces[i].y + (eyes[j].y + eyes[j].height*0.5)); 
    Point p2(faces[i].x + (eyes[j].x + eyes[j].width*0.5), faces[i].y + (eyes[j].y + eyes[j].height*0.5)); 
    line(frame, p1, p2, Scalar(255, 255, 0), 5, 8, 0); 

這是我寫的在兩點p1和p2之間繪製線段的代碼。其實我得到的點顯示,但沒有線段。有誰能夠幫助我!!如何在opencv C++中的兩點之間繪製一條線

在此先感謝。

+0

只是猜測......如果點定位在同一地點,你有一個點不是一條線。 –

+0

p1和p2看起來相同? – berak

+0

其實我需要在兩個眼睛中心之間畫線。我帶了兩個中心。我從臉上檢測到了眼睛。 – Somashekar

回答

2

隨着上面提供的代碼可以推斷出這兩個點位於相同的地方因此,你沒有得到任何線,而是一個點。

而且看一看線功能:http://docs.opencv.org/modules/core/doc/drawing_functions.html#line

順便說一句:有一個與你的索引的問題。如果你想連接兩個眼睛中心,你應該比較像做

Point p1(faces[0].x + (eyes[0].x + eyes[0].width*0.5), faces[0].y + (eyes[0].y + eyes[0].height*0.5)); 
Point p2(faces[0].x + (eyes[1].x + eyes[1].width*0.5), faces[0].y + (eyes[1].y + eyes[1].height*0.5)); 

假設面孔[0]指向方面的座標,眼睛[0]是對臉第一眼眼睛1是第二眼(並假設以下不發生)

enter image description here

+0

我需要得到兩個眼睛中心的中心點。你能建議我解決方案! – Somashekar

+0

我在循環中運行它,圖像也在視頻中波動。我怎麼做到這一點。 – Somashekar

+0

你需要弄清楚那些指標「我」和「j」以及如何使用它們。我無法幫助更多有限的信息。 –

相關問題