Как узнать верхнюю координатную точку, в которой значение пикселя изменилось на изображении? - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть изображение.После использования обнаружения Canny Edge в OpenCV с использованием следующего кода у меня есть двоичное изображение с обнаруженными краями.

import cv2

img = cv2.imread('Test3.jpg')
canny = cv2.Canny(img, 0, 150)
cv2.imshow('Canny Edge', canny)
cv2.waitKey(0)
cv2.destroyAllWindows()

Исходное изображение Двоичное изображение

Теперь я хочу узнать значение координаты точки, в которой изменяется значение пикселя, сканируя изображение сверху вниз.Как это сделать ??

1 Ответ

0 голосов
/ 17 декабря 2018

Чтобы найти ненулевые пиксели, вы можете использовать функцию numpy nonzero:

import numpy as np
x = np.array([[1, 0, 0], [0, 1, 0], [1, 1, 0]])
coords = np.nonzero(x)
print(coords)

В вашем случае просто позвоните np.nonzero(canny).

выдаст

array([0, 1, 2, 2]), array([0, 1, 0, 1]))

Затем вы можете запросить минимальное / максимальное значение координаты в любом измерении, например,

np.max(coords[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...