Разложение дерева квадрантов на неквадратном изображении

Кто-нибудь знает, как лучше всего выполнить разложение Quadtree на неквадратном изображении? Я продолжаю получать линии, появляющиеся на моем изображении, которое нарисовано с помощью Quadtree.


person user559142    schedule 16.02.2011    source источник


Ответы (1)


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

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

person Gareth McCaughan    schedule 17.02.2011
comment
хорошо, теперь у меня все работает - я избавился от линий. Как мне запретить рисовать части, которых нет на изображении? Поскольку он захватывает черную область вокруг изображения в результате создания квадратной области. - person user559142; 17.02.2011
comment
линии были из-за размера изображения (не являющегося степенью двойки). Я изменил его, но теперь мое дерево квадрантов хранит избыточную информацию, и при получении информации о глубине изображения я сталкиваюсь с ложными данными... - person user559142; 17.02.2011