Вопрос: Как выбрать все расположения уникальных элементов в массиве numpy 2d с ограничивающей рамкой вокруг них?
Давайте рассмотрим следующий пример
array([[1, 1, 2, 2],\
[0, 1, 0, 1],\
[3, 0, 1, 4],\
[0, 3, 1, 1]])
Результат немного сложнее
For one unique value 1, (0,0),(0,1),(1,1),(1,2),(1,3),(2,2), (3,2),(3,3)
Мы хотим построить индексы таким образом, чтобы нулевые значения в пределах экстремумов рассматривались внутри региона. В этом смысле это скорее проблема сегмента региона с точно таким же значением, за исключением нулей внутри региона. Это определение границы региона.
Следует отметить, что область состоит только из уникального значения и нуля. По построению задачи не может быть никаких неуникальных значений, лежащих друг в друге.
Возможно, это проблема поиска контура в изображении в смысле обработки изображения (я не уверен)
Тот, кого мы находим в этом регионе. Мы хотим найти из множества функций то, что находится в определенных регионах. Например, мы обнаруживаем SIFT. Мы хотим выяснить, какие элементы просеивания лежат в одной уникальной области, не сравнивая их.
Пожалуйста, дайте мне знать для дальнейших разъяснений.
РЕДАКТИРОВАТЬ: Важно отметить, что это не проблема подключенного компонента. В связанном компоненте одна область фактически состоит из однородных значений. В нашем случае между ними могут быть нули (или любые другие значения). Так что это просто обнаружение области, ограниченной уникальным значением. Также важно отметить, что внутри области не может быть никаких произвольных значений, кроме одного значения, такого как ноль или 255, изображающего фон.
Большое спасибо.