2015-12-01 53 views
0

我正在研究一個應用程序,該應用程序將比較希望匹配面部的直方圖。 該應用程序允許用戶拍照,選擇圖像中的幾個關鍵點,然後應用程序圍繞這些點繪製圓圈。然後使用OpenCV Hough Circle Transform函數檢測圓。到目前爲止,該應用程序運行良好。檢測形狀並創建直方圖

我現在需要實施是兩個選項之一:

  1. 檢測圓和創建單獨的直方圖區域中的每個圓圈內。

  2. 檢測圓圈並遮住圓周的區域並創建一個直方圖。

我傾向於方法2,但我不確定在檢測到圓後區域周圍的區域/顏色/顏色如何塗抹。任何輸入將不勝感激。謝謝。

回答

0

爲什麼不創建新圖像並將圓圈的內容複製到原始圖像中的圓圈外部?

另一點是直方圖與翻譯無關。因此,將圓圈複製到新圖像中的確切位置並不重要。

如果我沒有回答您的問題,或者您現在還有其他問題,請澄清一下。

+0

謝謝龍貓。你的第二點很清楚。我喜歡你的想法只是複製重要的地區,我不太清楚如何實現這一點。我知道我可以使用Canvas和Paint類剪切/剪裁位圖,但指定要剪切的獨特路徑似乎有點遙不可及。 – Rob

+0

如果用戶選擇了這些點,則可以使用一個函數來計算某個半徑處該點周圍的一個圓內的所有點。算法如下: 1.圍繞這個點取一個正方形,點的中心點和圓的直徑等於正方形的邊。 2.對於此平方中的每個點,計算距中心的距離。移除距離大於圓弧半徑的點,並將剩餘的點複製到新圖像。 cv :: Mat是一個很棒的課程,你可以做很多事情。你會喜歡你需要的大部分功能。 – Totoro

+0

謝謝龍貓。由於時間限制,我採用了更簡單的(儘管不是很準確)方法。我正在創建一個大矩形來包圍輸入觸摸的區域,並用canvas,clipRect()剪切該矩形。現在我認爲這已經足夠了,但爲了更準確,我可能會稍後再細化它。我很感謝你的時間,謝謝你。 – Rob