Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Искусственный интеллект arrow Компьютерное зрение (платный раздел). arrow Компьютерное зрение. Урок 27. Представление изображений
20.01.2018 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Компьютерное зрение. Урок 27. Представление изображений Печать E-mail
Автор megabax   
22.05.2017 г.
New Page 1

Компьютерное зрение. Урок 27. Представление изображений

 

Чтобы смотреть урок полностью, а также скачать исходники к уроку, подпишитесь на платный раздел.

В платном разделе статья находится здесь.


Обычно изображение представлено в виде растра, простой регулярной однородной сетки, которая не несет в себе какой либо структурной информации, только яркость и цвет пикселей. По сути, картинка в компьютере - это что-то наподобие такой вот таблицы чисел:

Компьютерное зрение. Урок 27. Представление изображений

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

...

...

... Надо сказать, что дискретное преобразование Фурье бывает и одномерным. Оно гораздо лучше чем обычное преобразование Фурье. Так как при обычном преобразовании Фурье количество коэффициентов стремиться к бесконечности, и мы его вынуждены ограничивать, что влияет на качество обратного преобразования. Особенно страдает качества при резких переходах сигнала. В случае дискретного Фурье преобразование количество коэффициентов равно количеству отчетов сигналов. И при обратном преобразовании качество не теряется. вот сейчас мы это и проверим.

Чтобы протестировать класс Dpf2D, мы сначала рассчитаем спектр какой-нибудь небольшой картинки, а затем восстановим по нему картинку. Картинка не должна измениться:

        private void btn2DDPF_Click(object sender, EventArgs e)

        {

            Dpf2D dpf_2d = new Dpf2D(frame.width,frame.height);

            for (int i = 0; i < frame.width; i++)

            {

                for (int j = 0; j < frame.height; j++)

                {

                    double s=frame.matrix[i,j].R+frame.matrix[i,j].G+frame.matrix[i,j].B;

                    dpf_2d.signal[i, j] = s / 255.0 / 3.0;

                }

            }

            dpf_2d.to_spectr();

            dpf_2d.from_spectr();

            for (int i = 0; i < frame.width; i++)

            {

                for (int j = 0; j < frame.height; j++)

                {

                    int s = Convert.ToInt32(dpf_2d.signal[i, j] * 255);

                    if (s < 0) s = 0;

                    if (s > 255) s = 255;

                    frame.matrix[i, j] = new RGBPoint(s,s,s);

                }

            }

            frame.create_picture();

            pbImage.Image = frame.picture;

        }

В данном примере мы преобразуем картинку к черно-белому изображению, в таком же виде ее и восстанавливаем после преобразования из спектра. ...

...

...

А вот для такой:

Компьютерное зрение. Урок 27. Представление изображений

 уже вот так

Компьютерное зрение. Урок 27. Представление изображений

Здесь мы имеем две характерные точки, обозначающие низкие частоты. Синусоида на картинке имеет наклон, так что их спектр имеет место для двух координатных осей, поэтому точки две.

Посмотрим спектр другой картинки:

Компьютерное зрение. Урок 27. Представление изображений

Он будет выглядеть вот так:

Компьютерное зрение. Урок 27. Представление изображений

Обратите внимание, много точек по углам, а также прослеживается преобладающее направление спектра.

Посмотрим спектр другой, более сложной картинки, которая содержит много разнообразных, высоких и низких частот:

Компьютерное зрение. Урок 27. Представление изображений

Вот ее спектр:

Компьютерное зрение. Урок 27. Представление изображений

Итак, мы построили математическую модель преобразования картинки и попробовали реализовать один из частных случаев такого преобразования (спектр). На следующем уроке попробуем провести ряд экспериментов со спектрами.

 

Последнее обновление ( 22.05.2017 г. )
 
« След.   Пред. »
 
© 2018 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше