У меня есть изображение, и я применяю алгоритм feature.canny
к нему, чтобы получить края изображения.
Теперь я хочу считать ребер на изображении, чтобы получить одно число.
Может кто-нибудь помочь?
Это код для отображения изображений:
def canny_detection(image):
# Convert to grayscale and convert the image to float
RGB = img_as_float(color.rgb2gray(image))
# Apply Canny edge detection algorithm
edge_canny = feature.canny(RGB, 2)
# Plot results
plt.figure(figsize=(15,5))
plt.subplot(121)
plt.imshow(RGB, cmap=cm.gist_gray)
plt.title('Original image')
plt.subplot(122)
plt.imshow(edge_canny, cmap=cm.gist_gray)
plt.title('Canny edge map')`
У меня также есть некоторый код, который применяет Canny, а затем извлекает массив из изображения, если это полезно:
def canny_detection(image):
# Convert to grayscale and convert the image to float
RGB = img_as_float(color.rgb2gray(image))
# Apply Canny edge detection algorithm
edge_canny = feature.canny(RGB,3)
#print(edge_canny)
edge_canny = edge_canny.astype(int)
#print(edge_canny)
#Get output array
canny_arr = np.array(edge_canny)
# Flatten output array
canny_flat = canny_arr.flatten()
#print(np.count_nonzero(canny_flat)) #to see if the matrix is all zeros
return canny_flat
Итак, по изображению с обнаружением краев я хочу посчитать количество ребер.Я не совсем уверен, как это сделать, поэтому любая помощь будет отличной!