Я работал над повышением скорости своего кода, заменив циклы операций с массивами на соответствующие функции NumPy.
Функция нацелена на получение конечных точек линии, которые являются единственными двумя точками, имеющими ровно один соседний пиксель из 255.
Есть ли способ получить две точки от np.where с условиями или некоторыми функциями NumPy, с которыми я не знаком, выполнят эту работу?
защита get_end_points (изображение):
x1=-1
y1=-1
x2=-1
y2=-1
for i in range(image.shape[0]):
for j in range(image.shape[1]):
if image[i][j]==255 and neighbours_sum(i,j,image) == 255:
if x1==-1:
x1 = j
y1 = i
else:
x2=j
y2=i
return x1,y1,x2,y2
image[i][j]==255
), а сумма соседей должна быть... 255 или ноль? Что делаетneighbours_sum
? Может быть, вы могли бы привести пример того, как будет выглядеть конечная точка со значениями? - person jdehesa   schedule 21.01.2019