Возможность иметь дело только с определенной областью бинарного изображения - PullRequest
0 голосов
/ 08 января 2019

Недавно изучаю обработку изображений.

Когда я сталкиваюсь с проблемой заполнения дыры, меня это смущает (я полагаю, что люди, способные ответить на вопрос, знакомы с этапом выполнения этого, поэтому я перехожу к проблеме):

Скажем, если у меня есть двоичное изображение, подобное этому:

      0 0 0 0 0 0 0
      0 0 1 1 0 0 0
      0 1 0 0 1 0 0
      0 1 0 0 1 0 0
      0 0 1 0 1 0 0
      0 0 1 0 1 0 0
      0 1 0 0 0 1 0
      0 1 0 0 0 1 0
      0 1 1 1 1 0 0
      0 0 0 0 0 0 0

И в книге говорится, чтобы начать формировать область, которая находится внутри отверстия, выполнить операцию расширения и установить границу на тот случай, если она заполнит все изображение.

У меня нет проблем с пониманием всего процесса, но если я попытаюсь закодировать его, как я могу иметь дело только с конкретным регионом (в дыре для этого случая)? Или фактическая реализация была бы другим методом?

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Решение этого ответа было описано в комментарии.

Это достаточно ясно, большое спасибо человеку, написавшему это.

0 голосов
/ 08 января 2019

Если вы можете предположить, что объект с отверстиями не касается границы изображения, вы можете создать промежуточное изображение, в котором вы вызываете заливку (со значением, например, 2) в верхнем левом пикселе. Все оставшиеся 0 пикселей должны быть внутри контура. Возьмите позицию первого встреченного оставшегося пикселя '0' и залейте его заливкой в ​​исходное изображение.

...