как я могу получить представление крыш с аэрофотоснимка, используя различия RGB?

Итак, я изучаю обработку изображений в python, и я наткнулся на упражнение, которое мне трудно решить. Ему дано аэрофотоснимок:

Аэрофотоснимок

Цель состоит в том, чтобы индивидуализировать все крыши на одном изображении, оставив остальную часть (фон) в черном цвете. В упражнении предлагается использовать разницу между полосами rgb, а затем применить пороговый метод, который использует точку, соответствующую большему расстоянию от линии, соединяющей первый ненулевой индекс частоты и значимый пик гистограммы (метод максимального расстояния).

В упражнении также показан пример того, каким должен быть конечный результат:

Крыши

Вот что я пробовал до сих пор:

from imageio import imread
import numpy as np
Imagem2 = imread("ik02.tif")
r2 = Imagem2[:,:,0] 
g2 = Imagem2[:,:,1] 
b2 = Imagem2[:,:,2] 
r_b = r2-b2 
rbh, rb = np.histogram(r_b, bins=256, range=(0, 256)) 

Из наблюдения за гистограммой можно различить два темных пика, примерно 0 для дорог и 3 для домов? Может быть, вырезать значения ниже и выше от дома?

Операция (красная полоса - синяя полоса) дает мне хороший результат, я просто не знаю, как индивидуализировать дома. Вот результат:

(красная полоса - синяя полоса)

Ценим любую помощь!


person Jamie Jones    schedule 21.12.2020    source источник
comment
Возможно, это лучше подходит для машинного обучения, обучения алгоритма тому, какие изображения имеют крыши, а какие нет. Существуют некоторые инструменты, такие как GRIP, которые также могут облегчить боль: docs.wpilib.org/en/stable/docs/software/vision-processing/grip/   -  person Jairus Martin    schedule 21.12.2020
comment
Упражнение требует, чтобы я использовал полосы и метод порога максимального расстояния для его решения.   -  person Jamie Jones    schedule 21.12.2020
comment
у меня нет школьного господина. Я учусь сам, если у вас есть проблемы с этим, зачем вообще беспокоиться? Похоже, вы не знаете ответа и просто любите судить.   -  person Jamie Jones    schedule 21.12.2020
comment
Как участнику, нам часто поручают просматривать, поэтому мы не осуждаем, а просто хотим помочь вам отредактировать ваш вопрос, чтобы на него можно было ответить более эффективно. Не могли бы вы отредактировать свой пост, указав свой код, размер упражнения и т. Д., Чтобы было больше информации, которую кто-то может использовать для ответа на ваш вопрос. Затем я удалю отрицательный голос.   -  person Jairus Martin    schedule 21.12.2020
comment
У вас больше шансов получить ответ, если вы сможете сузить сферу своего вопроса.   -  person Jairus Martin    schedule 21.12.2020
comment
Я попытался сделать его более подходящим. Приносим извинения за неудобства.   -  person Jamie Jones    schedule 21.12.2020
comment
Без проблем. Давайте удалим неактуальные комментарии.   -  person Jairus Martin    schedule 21.12.2020
comment
Кстати, инструмент захвата может помочь вам быстро визуализировать это. Вы можете просто подставить значения.   -  person Jairus Martin    schedule 21.12.2020


Ответы (1)