![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 21.11.2010
Сообщений: 2
|
![]()
Хочется последовательно обсудить реализацию фрактального алгоритма кодирования ЦВЕТНЫХ изображений.
Пункт 1. Перевод изображения из RGB в YUV. Y = 0.299 * R + 0.587 * G + 0.114 * B; U = -0.14713 * R - 0.28886 * G + 0.436 * B; V = 0.615 * R - 0.51499 * G - 0.10001 * B; С формулами все ясно. А вот насчет той груды груды информации (Y, U, V для каждого пиксела) которую надо будет жранить для последующей обработки возникают вопросы. Первое, что пришло на ум: 1. Изображение загружаем в БитМан bm; 2. Для хранения Y,U,V создаем Код:
Код:
Код:
Если же все так и оставить, то как грамотнее реализовать следующий шаг разбиение изображения в YUV сеткой 8 на 8, с условием что каждый квадрат легко можно было бы подвергнуть аффинным преобразованиям? |
![]() |
![]() |
![]() |
#2 | ||||
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
![]() А можно где-то сам алгоритм взглянуть по которому делаете?
I am the First of Cyber Evolution...
I am the First to Program your Future... |
||||
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 21.11.2010
Сообщений: 2
|
![]()
Спасибо за развернутый ответ.
Немного о самом алгоритме: Сначала берется исходное изображение, и разбивается равномерной сеткой 8*8 на регионы. Далее подготавливается доменное изображение. Оно меньше, чем исходное в 4 раза (по площади). Доменное изображение разбивается на домены (8*8). Размер доменов равен размеру регионов. НО! ДОМЕНЫ МОГУТ ПЕРЕКРЫВАТЬСЯ! (перекрытие задается пользователем, чаще всего 50%) Процесс фрактального сжатия заключается в поиске самоподобных областей. В нашем случае последовательно перебираются все регионы, и для каждого региона определяется наиболее похожий на него домен. Применяется не только простое попиксельное сравнение региона с доменом, но и аффинные преобразования. Используются следующие аффинные преобразования: 1) поворот на 0 градусов (с технической точки зрения – тоже вариант) 2) поворот на 90 градусов 3) поворот на 180 градусов 4) поворот на 270 градусов 5) симметрия относительно оси Х 6) симметрия относительно оси У 7) симметрия относительно главной диагонали 8) симметрия относительно второстепенной диагонали Итак, аффинные преобразования можно выполнять как над регионами, так и над доменами. Однако аффинные преобразования над доменами будут выполняться дольше, чем над регионами, так как в процессе сжатия регионы перебираются всего 1 раз, а домены – много раз (для каждого региона по разу). Таким образом, аффинные преобразования следует выполнять над регионами. В общем, в процессе сжатия последовательно перебираются все регионы, для каждого региона последовательно перебираются все домены, которые в свою очередь сравниваются со всеми аффинными преобразованиями текущего региона. Изображения сравниваются по пикселям. Самый лучший домен тот, у которого окажется самым минимальным выражение: СуммаПоI_CуммаПОJ(s*dij+o-rij)^2, где s=СуммаПоI_CуммаПОJ((dij-d)*(rij-r))/СуммаПоI_CуммаПОJ((dij-d)^2) o=r-s*d; r,d - средние значения для регионов и доменов. Итак, после того, как для текущего региона (со всеми аффинными преобразованиями) был найден наиболее схожий с ним домен, необходимо запомнить следующие данные: - координаты домена (относительно доменного изображения); - номер аффинного преобразования (2-е и 4-е аффинное преобразование следует поменять местами, так как при распаковке изображения аффинные преобразования нужно будет выполнять не над регионами, а над доменами); - s, o; - количество регионов по гор-ли и повертикали. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сжатие данных | Horknee | Свободное общение | 18 | 10.05.2010 11:21 |
Производительность и сжатие изображений (аналог Radmin) | elja_1989 | Win Api | 2 | 22.03.2010 14:44 |
сжатие фотографий | AnKor94 | Общие вопросы Delphi | 1 | 15.03.2010 00:18 |
Сжатие битмапа | Rapid | Мультимедиа в Delphi | 7 | 08.12.2007 16:38 |
Проверка на сжатие | vitalik007 | Общие вопросы Delphi | 3 | 20.08.2007 10:53 |