0
A
回答
1
看一看這篇文章:OpenCV - Morphological Skeleton
2
我很抱歉,我沒有例如,從C#。但我可以給你一個使用OpenCV-Python的方法。它使用基本的OpenCV函數完成,所以我使用的所有函數都應該可以在C#中使用。
import cv2
import numpy as np
img = cv2.imread('img.png',0)
size = np.size(img)
skeleton = np.zeros(img.shape,np.uint8)
ret,img = cv2.threshold(img,127,255,0)
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3))
finished = False
while(not finished):
eroded = cv2.erode(img,kernel)
temp = cv2.dilate(eroded,kernel)
temp = cv2.subtract(img,temp)
skel = cv2.bitwise_or(skeleton,temp)
img = eroded.copy()
zeros = size - cv2.countNonZero(img)
if zeros==size:
finished = True
cv2.imshow("skeleton",skeleton)
cv2.waitKey(0)
cv2.destroyAllWindows()
下面是結果:
方法也不是那麼好,所以也造成不完美。但更好,我希望。
EmguCV文檔:http://www.emgu.com/wiki/files/2.3.0/document/Index.html
我相信所有的功能均可在此處找到。所以實施你自己。
相關問題
- 1. 用java細化或鏤空
- 2. 使用Parceable時處理鏤空物體
- 3. 在C++中使用OpenCV進行對象檢測
- 4. C++初始化列表中的第二個鏤空類
- 5. 在Excel中使用硒+ C進行空行驗證#
- 6. ClassCastException在使用時:group-by選項用於鏤空中的散點圖
- 7. 使用opencv進行尺度空間斑點檢測
- 8. 使用OpenCV進行天空分析的圖像
- 9. 在android中運行使用OpenCV的C/C++代碼
- 10. 使用OpenCV在ios應用程序中進行圓檢測
- 11. 在Win32應用程序中使用opencv進行圖像顯示
- 12. 使用Android中的metaio在openCV中進行3D對象渲染
- 13. 存儲多行輸出紅寶石返回從鏤空
- 14. OpenCV進行iphone
- 15. 使用OpenCV和C++進行激光檢測
- 16. 使用opencv和C++進行稀疏編碼和字典學習
- 17. 使用C++和opencv進行人臉識別
- 18. 使用opencv C++進行靜態圖像車輛識別
- 19. 使用opencv C++和MS VS2010進行前景提取的問題
- 20. 使用opencv進行圖像分類
- 21. 使用openCV進行alpha混合
- 22. 使用OpenCv進行灰度級切片
- 23. 使用OpenCV進行攝像機標定
- 24. 使用opencv進行Android角落跟蹤
- 25. android:使用opencv進行圖像識別
- 26. 使用OpenCV進行伺服控制
- 27. 使用OpenCv進行形狀檢測
- 28. UnsatisfiedLinkError使用OpenCV進行處理
- 29. 使用OpenCV進行網格檢測
- 30. 使用OpenCV進行物體跟蹤
-1。谷歌會幫助你解決這類問題。預計這裏的問題將包括一些研究工作。你有什麼嘗試?你面臨的問題是什麼? –