Программа позволяет открывать и просматривать фрактально сжатые изображения по итерациям восстановления, а так же просматривать доменно-ранговые зависимости и коэффициенты преобразований.
!!! Желающие поучаствовать в разработке, просьба писать на мыло fic [at] bos.ru либо через веб-интерфейс. Вероятно, программа будет выложена как OpenSource.
Программа подойдет как для людей, желающих понять как происходит декодирование изображения, откуда из ничего появляется сжатое изображение. А так же есть намерение использовать ее для отладки вновь написанных движков.
Работает только с изображениями в градациях серого (8 бит/пиксель, BMP), размеры которых кратны размерам ранговых и доменных блоков, например 256x256, 512х512 пикселей и т.д.
К архиву приложены два сжатых изображения. Файл - открыть - открываем визуализированный фрактальный код. Программа делает одну итерацию восстановления. Далее через меню Edit либо с помощью кнопки на панели инструментов производим следующую итерацию. Слева новое изображение, справа - старое, с которого берутся доменные блоки. Внизу слева увеличенное ранговое изображение, справа - увеличенное доменное изображение, по центру - преобразованное доменное изображение (умноженное на коэффициент
изменения контраста).
Необходимо наличие .Net Framework 3.5 для успешной работы приложения. Возможно, понадобится установить Visual C++ 2008 Redistributable. Либо ОС Windows 7.
Состояние: в разработке.
Скачать приложение:
(щёлкнуть правой кнопкой мыши, выбрать "Сохранить объект как") SFICodecViewer Dev
Итак, что еще необходимо сделать.
Необходимо разобраться с созданием совместимого битмапа, т.к. попиксельное копирование из буфера в CBitmap отнимает больше времени, чем сам процесс декодирования.
Необходимо запихать все подготовительные к перерисовке окна вещив поток (частично сделано для функции "Next Iteration".
Необходимо добавить подписи к доменным и ранговым блокам.
Вероятно стоит сделать таблицу, где вместо пикселей будут их цифровые значения (для проверки преобразований) - применительно к доменным и ранговым блокам.
Создать страницу настроек, где можно будет задать начальное число итераций, размер увеличенных копий доменных и ранговых блоков и пр.
Визуализировать процесс декодирования: каждые 2 секунды добавлять очередной ранговый блок к изображению, и показать соответствующий домен, коэффициенты и преобразованный доменный блок.
Модифицировать Визулизированный фрактальный код до более читабельного: добвить м.б. теги, типа <rabgeb#103 scale>0.35
Среда Visual C++ 2008, MFC-приложение.
Журнал
10 мая 2010 г.
На сайте выложенестовая версия файл программы, находящейся в разработке. Ждем заинтересовавшихся разработчиков.