компютърна графика, разбира се - втората задача

Задачата е разделен на 2 части. Първата е посветена на обработка на изображението, а вторият - обработката на звуковото. Първата част е задължителна, а вторият - повече. Във втората част има подзадачи, които не разбират лекциите. В решението си да помогне на учебник "Въведение в цифрова обработка на сигнали (математически основи)."

Част 1: трептене, филтриране на изображението

Необходимо е да се напише програма, която извършва следните дейности на изображения:
  • Зареждане и показване на BMP-файл. Достатъчно е да се направи само подкрепа RGB (nepalitrovyh) графични формати. 1 точка
  • Конвертиране на изображение (вж. По-долу), показване на резултата на екрана и запишете в BMP-файл (достатъчно RGB-формат).
  • Смесването на цветно изображение в сивата скала. 1 точка
  • Намаляване на изображението, за да черно и бяло (2 цвята) с помощта на:

    б. трептене (добавяне на шум), 1 точка

    инча Грешка дифузия (използвайки Floyd-Steinberg), 2 точки

  • Филтриране на изображението с филтър с размери от 5х5. Трябва да е възможно да се създаде произволни коефициенти на филтъра. коефициентите на филтъра е желателно да задават чрез диалогов прозорец, където има 25 прозорци за въвеждане на номера и 2 в прозореца за въвеждане на числителя и знаменателя - нормализира коефициент. Първоначално, всички прозорци трябва да бъде нула. 2 точки
  • * Премахване на крайните ефекти по време на филтрация. 1 точка
  • Случайни Gaussian Blur с радиус. Трябва да се посочи размера на филтъра (странно). 1 точка
  • * Изпълнен като двумерен версия на Gaussian замъгляването и ускорен версия на базата на Обособяване на Гаус. 1 точка
  • * Уверете се, може да се измери колко пъти втори по-бързо от първата версия. 1 точка
  • * Изчисляване и показване на изображението на спектъра. Възможността за включително теглото на прозореца. Възможността за преместване на нула честота в центъра на картината. Възможност за премахване на DC компонент. Възможност да се уточни логаритмична скала на амплитудата и / или ранжирането показани амплитуди. До 3 точки

Желателно е, че програмата под Windows. За лесен за употреба интерфейс, може да бъде кредитирана по 1 точка.

Изчисляване на изображението спектър

Спектър се изчислява от изображения в сивата скала размери 512x512 (или друга сила на два). За изчисляване на двумерен спектър трябва да се изчисли едномерен комплекс Фурие трансформация на всяко изображение линия, а след това - от всяка колона на полученото междинно комплекс "изображението". След това, на двумерен масив от сложни коефициенти на Фурие се прехвърля под формата на "амплитуда фаза" и амплитуда са показани изображения (за предпочитане - върху логаритмична скала). В този случай, на ниските честоти са в ъглите, и високо - в центъра. За се желае конвенционални изображение на спектъра циклични изображения отместване спектър изместване на точката на всеки от ъглите център.

Желателно е да се избере ampditud показване на цветовете на спектъра, че подробностите са видими. Можете да прекарате нормализиране на амплитуди.

За да се подобрят свойствата на спектъра могат да бъдат елиминирани от изображението преди DC компонент на изчисляване на спектъра (т.е. изважда постоянно към средната стойност на сигнала е станала равна на нула) и умножено по сигнал тегло на прозореца. разлагаща краищата (например - "повдигнати косинус" (Hanning) или Gaussian).

Проверка на изчисляване на спектъра: спектъра да бъде симетричен по отношение на нулева честота (централната точка след "офсет" нулева честота в центъра).

За да се изчисли по едномерна комплекс преобразуване на Фурие, можете да използвате готови функция на C: FFT.C

Пример изображение спектър

компютърна графика, разбира се - втората задача

компютърна графика, разбира се - втората задача

Неговият спектър (логаритмична скала амплитуда)

Част 2: Работа със звук

Необходимо е да се напише програма, която може да:
  • Свали WAV-файл (достатъчно на всеки един формат, да кажем - 44 кХц, 16-битов, моно). 1 точка
  • Заглушаване на гласа на солист (Караоке ефект) на. Това се постига, като се извади един стерео проби от извадките от друг стерео. Резултатът е моно звук, за да бъдат съхранени в WAV-файл. 1 точка
  • Изграждане сонограмата сигнал. Сонограмата - показва графиката на сигнала спектър и неговите промени с течение на времето. Способността да персонализирате логаритмична скала на амплитудата. размер Choice FFT. Възможността за включително теглото на прозореца (Хенинг). За 4 точки

Програмата може да се комбинира с програма за обработка на изображения, и може да бъде отделно заявление. Дисплей форма на вълната WAV-файл не се изисква.

Изграждане на сонограми

За да се построи сонограми трябва да се изчисли FFT за поредна (във времето) на звената за данни и показване на амплитудата в зависимост от честотата и номера на блока (време). Желателно дисплей амплитуда на логаритмична скала. Желателно е да се размножават изчислителни спектър блокове на сигнала на прозореца на тегло.

примери сонограми

компютърна графика, разбира се - втората задача

Бележката на китара
Тя може да се види, че високочестотните хармоници отслабват по-бързо от нискочестотна

компютърна графика, разбира се - втората задача

Бележката на пианото
Очевидно е, че пианото е по-малко от високочестотни хармоници

компютърна графика, разбира се - втората задача

Бележката, извършена певицата
В края на звука може да се види получаване "вибрато": модулация на терена

компютърна графика, разбира се - втората задача

компютърна графика, разбира се - втората задача

Сближаване на ниска честота част на същото изказване

регистрация

Регистрацията не е различно от обичайните.

ZIP-файл с изходен код и изпълними файлове, наречена според схемата GZV_nnnnnnnn.zip (където G - последната цифра на номера на групата, Z - брой работни места, V - за определяне на номера на версията, NNNNNNNN - студент ID номер), за да изпратите [email protected]. msu.su

Например, един студент от 206 групи с студент номер 06529042, която доставя актуализирана (втори) версия на Втората задача на програмата трябва да изпратите файл с 622_06529042.zip за името.

Не забравяйте да поставите в файл readme.txt файла с. Файлът описва интерфейс на програмата (алгоритъм на програмата, елементите от менюто, контролни клавиши)

резултатите

Резултатите се отнасят до интернет и / или на стойка близо до стаята 703.

бележки

  1. Задачата се движи по строго индивидуален. За сътрудничество или обмен на парчета код поставя оценка от нула до всички участници, ако фактът на работата в екип не е бил посочен в readme.txt работни места.
  2. Препоръчително е да се програмира писането на семейството на Windows. Писане под друга операционна система е нежелателно и може да доведе до забавяне на проверката на тези операции.

Въпроси за инструкции