У кого-нибудь есть пример того, как скелетонизировать с помощью OpenCV в C#.скелетование с использованием OpenCV в C#
спасибо
У кого-нибудь есть пример того, как скелетонизировать с помощью OpenCV в C#.скелетование с использованием OpenCV в C#
спасибо
Посмотрите на эту статью: OpenCV - Morphological Skeleton
Я извиняюсь, я не есть пример из 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. Google поможет вам в этом вопросе. В число вопросов, как ожидается, будут включены некоторые исследовательские работы. Что вы пробовали? С какими проблемами вы сталкиваетесь? –