2017-07-25 125 views
0

enter image description here提取一部分

我的目標是把上面的圖片和「打開」,它沿着中央,使得9個的黑色雙峯是在一條直線上,而不是在一個圓圈。我已經使用了OpenCV的cv2.toPolar()函數嘗試,但圖像是相當扭曲,因爲可以看到下面:

enter image description here

我現在試圖嘗試一種不同的方法。從中心開始,我想單獨訪問每個雙合透鏡,比如披薩片,並排放置它們

最初我正在考慮使用從圖像中心到中間的兩條線對每個雙合透鏡進行切片指向雙方的雙打之間。

我的問題是:如何從圖像的中心到圖像的邊緣繪製輪廓,穿過任何兩個雙峯之間的中點。如果我能繪製一個,我知道任何兩個這樣的連續輪廓之間的角度是40度。

任何幫助,非常感謝!

回答

0

我注意到一些問題在這裏:

  1. 的toPolar()轉換可能已經出現了圖像文件的中心,但它是不是對象的中心。這會導致部分失真。如果你分享你的代碼,我可以嘗試使用代碼並改進它。

2.該物體有點橢圓形,不是圓形。這意味着在糾正上述問題之後,你仍然會有波動。

  1. 如果您不介意半自動解決方案,則可以使用OpenCV鼠標事件指定第一行,並讓程序使用40度角計算其餘行。
+0

非常感謝您的回覆! https://github.com/AnanDvd/Python-OpenCV/blob/master/cilia2D_topolar_maxRadius.py 鏈接到圖片:http://cytochemistry.net/_Media/cilia7_med_hr.jpeg 我也有疑問,它是找到圖像的中心而不是對象,這就是爲什麼我嘗試使用contourArea()來找到中心的原因。 –