Новосибирский Государственный Университет
Опубликован: 20.08.2013 | Доступ: свободный | Студентов: 842 / 27 | Длительность: 14:11:00
Самостоятельная работа 5:

Сборка и установка Intel® Integrated Performance Primitives. Использование библиотеки в среде Microsoft® Visual Studio

Аннотация: В работе предлагается описание процедуры установки библиотеки Intel® IPP в составе пакета Intel® Parallel Studio XE 2013. Приводится последовательность действий, которые необходимо выполнить для настройки среды Microsoft Visual Studio при разработке приложений с использованием функций библиотеки. Далее рассматривается задача медианной фильтрации изображения. Предлагается решение на базе библиотек OpenCV и Intel® IPP. Вводится задача определения прямых линий на изображении, описывается схема решения с использованием преобразования Хафа. Предлагается программные реализации на базе библиотек OpenCV и Intel® IPP.
Ключевые слова: performance, IPP, Windows, visual, файл

Презентацию к лекции Вы можете скачать здесь.

Дополнительные материалы Вы можете скачать здесь.

Введение

Перегоняя кого либо, смотри: не пришлось бы от него убегать.

Станислав Лец

Intel® Integrated Performance Primitives (Intel® IPP) [5] – библиотека высокопроизводительных инструментов и программных функций обработки данных. Функции библиотеки можно разделить на четыре основные группы:

  1. Функции обработки звуковых сигналов:

    • дискретное преобразование Фурье;
    • функции фильтрации;
    • некоторые функции распознавания и кодирования речи;
    • функции сжатия данных и др.
  2. Функции обработки изображений и видео:

    • функции конвертирования изображений из одного цветового пространства в другое;
    • операции отсечения;
    • морфологические операции;
    • линейные преобразования;
    • статистические функции (гистограмма, центральные моменты, сумма, интегралы, математическое ожидание и среднеквадратичное отклонение набора пикселей);
    • геометрические преобразования изображений с использованием различных методов интерполяции;
    • вейвлет-преобразование;
    • реализации некоторых алгоритмов компьютерного зрения (детектор ребер Канни, преобразование Хафа, вычисление оптического потока и т.п.);
    • функции сжатия изображений;
    • функции кодирования видео и др.
  3. Функции работы с небольшими с векторами и матрицами небольших размеров:

    • операции над векторами (сложение, вычитание, умножение и т.п.);
    • операции с матрицами (транспонирование, вычисление определителя, умножение, определение следа матрицы и т.п.);
    • функции решения систем линейных алгебраических уравнений и др.
  4. Функции шифрования.

В настоящей работе предполагается продемонстрировать использование некоторых функций обработки изображений и реализаций алгоритмов компьютерного зрения библиотеки Intel® IPP на примере задач медианной фильтрации и определения прямых линий на изображении. Также в ходе работы будет подробно рассмотрен этап предварительной подготовки программной инфраструктуры с целью последующего использования библиотеки Intel® IPP на базе операционной системы Windows в среде Microsoft Visual Studio.

1. Методические указания

1.1. Цели и задачи работы

Цель данной работы – рассмотреть технические этапы подготовки инфраструктуры и продемонстрировать использование некоторых функций библиоте ки Intel® Integrated Performance Primi t ives на примере простых задач медианной фильтрации и поиска прямых линий на изображении.

Данная цель предполагает решение следующих задач:

  1. Установка библиотеки Intel® IPP в составе пакета Intel® Parallel Studio XE 2013 [4].
  2. Настройка среды Microsoft Visual Studio с целью использования библиотеки при разработке C/C++ приложений.
  3. Разработка приложения, которое осуществляет медианную фильтрацию изображения средствами библиотеки Intel® IPP. Для проверки корректности результата предполагается разработка функции, выполняющей медианную фильтрацию с использованием OpenCV [6].
  4. Разработка приложения для поиска прямых линий на изображении средствами библиотеки Intel® IPP, содержащей функции вычисления преобразования Хафа [1, 2]. Сравнение результатов с реализацией, разработанной на базе библиотеки OpenCV.

1.2. Структура работы

В работе предлагается описание процедуры установки библиотеки Intel® IPP в составе пакета Intel® Parallel Studio XE 2013. Приводится последовательность действий, которые необходимо выполнить для настройки среды Microsoft Visual Studio при разработке приложений с использованием функций библиотеки. Далее рассматривается задача медианной фильтрации изображения. Предлагается решение на базе библиотек OpenCV и Intel® IPP. Вводится задача определения прямых линий на изображении, описывается схема решения с использованием преобразования Хафа. Предлагается программные реализации на базе библиотек OpenCV и Intel® IPP.

1.3. Тестовая инфраструктура

Вычислительные эксперименты проводились с использованием следующей инфраструктуры (табл. 10.1).

Таблица 10.1. Тестовая инфраструктура
Операционная система Microsoft Windows 7
Среда разработки Microsoft Visual Studio 2010
Библиотеки Intel® Integrated Performance Primitives Intel® Integrated Performance Primitives 7.1
Библиотеки OpenCV Версия 2.4.3

1.4. Рекомендации по проведению занятий

При выполнении данной лабораторной работы рекомендуется следующая последовательность действий:

  1. Напомнить назначение основных модулей библиотеки Intel® IPP.
  2. Напомнить общую схему именования функций библиотеки Intel® IPP.
  3. Продемонстрировать процедуру установки библиотеки в составе пакета Intel® Parallel Studio XE 2013.
  4. Показать последовательность действий, необходимых для создания и настройки консольного C/C++ проекта в среде Microsoft Visual Studio с целью последующего использования функций библиотеки Intel® IPP.
  5. Рассмотреть задачу медианной фильтрации.
  6. Разработать приложение, которое выполняет медианную фильтрацию исходного изображения сначала средствами библиотеки OpenCV, а затем Intel® IPP, и сравнивает полученные результаты.
  7. Рассмотреть задачу выделения прямых линий на изображении.
  8. Объяснить схему решения задачи выделения прямых линий с использованием преобразования Хафа.
  9. Разработать программные реализации рассмотренной схемы с использованием средств библиотеки OpenCV и Intel® IPP. Проанализировать результаты, полученные с помощью реализации на базе OpenCV и Intel® IPP.
Александра Максимова
Александра Максимова

При прохождении теста 1 в нем оказались вопросы, который во-первых в 1 лекции не рассматривались, во-вторых, оказалось, что вопрос был рассмаотрен в самостоятельно работе №2. Это значит, что их нужно выполнить перед прохождением теста? или это ошибка?
 

Алена Борисова
Алена Борисова

В лекции по обработке полутоновых изображений (http://www.intuit.ru/studies/courses/10621/1105/lecture/17979?page=2) увидела следующий фильтр:


    \begin{array}{|c|c|c|}
    \hline \\
    0 & 0 & 0 \\
    \hline \\
    0 & 2 & 0 \\
    \hline \\
    0 & 0 & 0 \\
    \hline 
    \end{array} - \frac{1}{9} \begin{array}{|c|c|c|}
    \hline \\
    0 & 0 & 0 \\
    \hline \\
    0 & 1 & 0 \\
    \hline \\
    0 & 0 & 0 \\
    \hline 
    \end{array}

В описании говорится, что он "делает изображение более чётким, потому что, как видно из конструкции фильтра, в однородных частях изображение не изменяется, а в местах изменения яркости это изменение усиливается".

Что вижу я в конструкции фильтра (скорее всего ошибочно): F(x, y) = 2 * I(x, y) - 1/9 I(x, y) = 17/9 * I(x, y), где F(x, y) - яркость отфильтрованного пикселя, а I(x, y) - яркость исходного пикселя с координатами (x, y). Что означает обычное повышение яркости изображения, при этом без учета соседних пикселей (так как их множители равны 0).

Объясните, пожалуйста, как данный фильтр может повышать четкость изображения?