2012-11-28 76 views
2

我需要opencv上的圖像處理幫助,我有一種梯形圖來處理,所以我需要翹曲透視圖,很容易做到這一點,但我需要提取源點在這張圖片上。 請注意,圖像只有一個文本,在這個例子中,我畫了紅線以顯示我需要的東西。我需要檢測角點(例如用藍點標記)。用Opencv檢測文字上的角點

enter image description here

任何幫助嗎?

回答

1

可以通過執行the bounding box technique隔離圖像中的文本,以及角點將由vertices變量存儲:

cv::Point2f vertices[4]; 
box.points(vertices); 

,你就可以通過訪問他們的X,Y操縱他們座標:

std::cout << "Point 1: " << vertices[0].x << "," << vertices[0].y << std::endl; 
std::cout << "Point 2: " << vertices[1].x << "," << vertices[1].y << std::endl; 
std::cout << "Point 3: " << vertices[2].x << "," << vertices[2].y << std::endl; 
std::cout << "Point 4: " << vertices[3].x << "," << vertices[3].y << std::endl; 

我共享的鏈接提供了此技術的完整實現。 這是你正在尋找的機器人!

+0

好的,感謝您的快速回復,但我試圖運行這個例子,我認爲角度(我知道它是以弧度表示)被錯誤計算,當我使用類似角度時,圖像顯示負值以博客爲例。所以我下載了作者使用的相同圖像「inverted.jpg」,結果是不同的。 – Ricardo

+0

您可以完全放棄博客文章中的角度信息,因爲它與您的問題無關。 – karlphillip

+0

好吧,我知道,但使用代碼檢測到的角點是圖像邊界的角落,而不是邊界框的角落 – Ricardo