Re[3]: Алгоритм утоньшения изображения
От: Аноним  
Дата: 16.08.08 16:07
Оценка:
Здравствуйте, True2008, Вы писали:

T>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, xmlx, Вы писали:



X>>>
X>>>000000000
X>>>001000000
X>>>001000000
X>>>001000000
X>>>001000000
X>>>001000000
X>>>001111100
X>>>000000000
X>>>

X>>>Понимаю, что задача имеет множествоqwq решений. нужно найти оптимальное.

А>>1.Просматриваешь изображение через окно 3x3

А>>2.Если в центре окна 0 — нечего не делать
А>>3.Если в центре окна 1, то
А>> если граничные клетки содержат только одно связное множество единиц и кол-во единиц в нём >2, но меньше 8- записать в центральную клетку 0
А>>4.Сдвинуть окно на шаг.

А>>Примеры на картинках:


А>>000 000 001 001 111 111

А>>011 ->001 010 ->010 110->100 и т.д.
А>>011 011 010 010 111 111

А>>Граничных клеток — 8. Комбинация 0 и 1 в них образует число щт 0 до 255. Строим таблицу и указываем в ней те комбинации, при которых в центральную клетку будет записываться 0.


А>>Это почти реализация одного из вариантов игры "Жизнь". Важно, что вышеописанные операции надо проводить последовательно!


T>если не трудно, напишите таблицу, вот с таким порядком нумерации

T>
T>012
T>7x3
T>654
T>

T>thanx. сорри за дубль... забыл написать порядок нумерации...
Алгоритм формирования таблицы.
Замена единицы на ноль происходит в тех случаях, когда граница содержит от 3 до семи подряд идущих (смежных) единиц (старшая единица и младшая считаются смежными).
Т.е. для трёх единиц — это случаи: 00000111, 00001110, 00011100, 00111000, 01110000, 11100000, 11000001, 10000011 (3,7,14,...).
— взять тройку и сдвигать её циклически влево (разряд из переполнения записывать в младший бит). А можно и вправо(не пробовал . Аналогично для четырёх и более единиц.
Таким образом, если биты границы образуют число 3 (7, 14, 15...), то центральный бит скользящего окна надо заменить но 0.
Конечно, результат(скелет двухградационного изображения) зависит от пути обхода. Но если сканировать изображение просто построчно, то в большинстве случаев этот алгоритм работает удовлетворительно.
Ну а уж выписывать таблицу — просто лень.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.