То, что я пытаюсь сделать, это создать две строки на двоичном изображении (один вертикальный, один горизонтальный). Затем верните все значения строки/столбца вместе с значениями пикселей ниже этой строки и поместите их в список python.Функция Matlab (improfile) в OpenCV - Python 2.7
В Matlab вы можете сделать это аналогичным образом, запустив improfile()
на двоичном изображении, где вы установили бинарное изображение на значение «10/255» на im2bw(image,10/255)
.
Возможно ли это с помощью opencv в Python?
Отлично! Можно ли посмотреть на эти массивы numpy и найти местоположение x, y первых/последних значений «True» в массивах пикселей? Я просто пытаюсь найти, где пиксели> 10 начинаются в каждом горизонтальном/вертикальном профиле. Благодаря! –
@Spatial Pariah: Существует несколько способов. Если у вас есть профиль в 'v', вы получаете список всех ненулевых (не-False):: nz = numpy.nonzero (v) [0]'. Если вы хотите увидеть первый из этих списков, используйте 'nz [0]', для последнего используйте 'nz [-1]'. (Вы можете применить это к изображению без BW, просто используя, например, 'numpy.nonzero (x> 10)'. Это возвращает индексы для всех элементов, которые больше 10 в 'x'. – DrV