Учитывая двоичную матрицу произвольного размера, мне нужно найти круги, которые вписываются в эту матрицу и охватывают только поля «0» и не имеют «-1» -полей.Найти круги, содержащие только нули в произвольной двоичной матрице
В этом примере
1 0 0 0 0 1 1
1 0 0 0 0 0 1
1 0 0 0 0 0 1
1 0 0 0 0 0 1
1 0 0 0 0 1 1
Я хочу, чтобы найти следующий максимальный круг (обозначаемый в +
)
1 0 0 + 0 1 1
1 0 + + + 0 1
1 + + + + + 1
1 0 + + + 0 1
1 0 0 + 0 1 1
На самом деле это не круг, только приближение к ней. Поиск прямоугольников в такой двоичной матрице может быть выполнен с помощью гистограмм, см. here. Кроме того, я пытаюсь найти меньшие круги, как это:
1 0 + 0 0 1 1 1 0 0 0 0 1 1
1 + + + 0 0 1 1 0 0 0 0 0 1
1 0 + 0 0 0 1 or this one 1 0 0 + 0 0 1
1 0 0 0 0 0 1 1 0 + + + 0 1
1 0 0 0 0 1 1 1 0 0 + 0 0 1
ли кто-нибудь есть умные идеи (например, гистограммы-подход к прямоугольникам) о том, как определить эти круги (или дискретные приближения, соответственно)?
Должны ли ваши круги быть приближенными к «реальным» (круглым) кругам или просто бриллиантам, как в ваших примерах? –
На самом деле, они должны быть приближениями круглых «настоящих» кругов. – Kapa11
@samgak Действительно. –