русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

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


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Выполнение логических операций


Дата добавления: 2014-02-04; просмотров: 1028; Нарушение авторских прав


Выполнение логических и арифметических операций над изображенями

Простейшими средствами, которые позволяют решать задачи обнаружения объектов на изображении и распознавания образов, являются логические и арифметические операции. Для выполнения над изображениями арифметических и логических операций библиотека IPL предоставляет большой набор функций, который можно разделить на две группы:

  • одноместные (monadic) функции, которые в операции участвуют изображения и константа;
  • двуместные (dyadic) функции, когда в операции участвуют два изображения.

 

Рассмотрим выполнение логических операций. Одноместная функция для выполнения логической операции И имеет следующий прототип:

void iplAndS(IplImage* srcImage, IplImage* dstImage, unsigned int value);

где srcImage – указазатель на исходное изображение, а dstImage – указатель на изображение, в котором функция должна сохранить результат. Аргумент value представляет собой последовательность бит, которая будет использоваться в побитовой операции И в комбинации с каждым пикселом изображения.

Функции логических и арифметических операций библиотеки IPL позволяют осуществлять их выполнение по месту, то есть записывать результат операции в исходное изображение. Таким образом, при выполнении логической операции И над изображением img, вызов данной функции может выглядеть следующим образом:

iplAndS(img, img, 128);

Результат выполненного преобразования представлен на рисунке 1. С помощью этой операции нам удалось выделить область изображения, интенсивность которой больше либо равна 128.

iplAndS

Рис. 1. Действие функции iplAndS с аргументом value=128

Двуместная функция для выполнения логической операции И имеет следующий прототип:

void iplAnd(IplImage* srcImageA, IplImage* srcImageB, IplImage* dstImage);



где srcImageA и srcImageB – указатели на исходные изображения, а dstImage – указатель на изображение, в котором будет сохранен результат побитовой операции И. Результат выполнения этой функции представлен на рисунке 2. С помощью этой операции удается выделить на изображении те области, которые имеют одинаковый цвет.

iplAnd

Рис. 2. Действие функции iplAnd

Одноместная функция для выполнения логической операции ИЛИ имеет следующий прототип:

void iplOrS(IplImage* srcImage, IplImage* dstImage, unsigned int value);

где srcImage – указатель на исходное изображение, а dstImage – указатель на изображение, в котором функция должна сохранить результат. Аргумент value представляет собой последовательность бит, которая будет использоваться в побитовой операции ИЛИ в комбинации с каждым пикселом изображения. Результат выполнения побитового ИЛИ с аргументом value = 63 представлен на рисунке 3. В данном примере операция ИЛИ дает четырехцветную топографическую карту исходного изображения.

iplOrS

Рис. 3. Действие функции iplOrS с аргументом value=63

Двуместная функция для выполнения логической операции ИЛИ имеет следующий прототип:

void iplOr(IplImage* srcImageA, IplImage* srcImageB, IplImage* dstImage);

где srcImageA и srcImageB – указатели на исходные изображения, а dstImage – указатель на изображение, в котором будет сохранен результат побитовой операции ИЛИ. Результат выполнения этой функции представлен на рисунке 4. С помощью этой операции на изображении выделены пикселы, которые хотя бы на одном из исходных изображений имеют белый цвет.

iplOr

Рис. 4. Действие функции iplOr

Одноместная функция для выполнения логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ имеет следующий прототип:

void iplXorS(IplImage* srcImage, IplImage* dstImage, unsigned int value);

где srcImage – указатель на исходное изображение, а dstImage – указатель на изображение, в котором функция должна сохранить результат. Аргумент value представляет собой последовательность бит, которая будет использоваться в побитовой операции ИСКЛЮЧАЮЩЕЕ ИЛИ в комбинации с каждым пикселом изображения. Результат выполнения побитового ИСКЛЮЧАЮЩЕГО ИЛИ с аргументом value = 127 представлен на рисунке 5.

iplXorS

Рис. 5. Действие функции iplXorS с аргументом value=127

Двуместная функция для выполнения логической операции ИСКЛЮЧАЮЩЕЙ ИЛИ имеет следующий прототип:

void iplXor(IplImage* srcImageA, IplImage* srcImageB, IplImage* dstImage);

где srcImageA и srcImageB – указатели на исходные изображения, а dstImage – указатель на изображение, в котором будет сохранен результат побитовой операции ИСКЛЮЧАЮЩЕЙ ИЛИ. Результат выполнения этой функции представлен на рисунке 6. С помощью этой операции на изображении выделены пикселы, цвет которых на исходных изображениях не совпадает.

iplXor

Рис. 6. Действие функции iplXor

Функция для выполнения логической операции НЕ имеет следующий прототип:

void iplNot(IplImage* srcImage, IplImage* dstImage, unsigned int value);

где srcImage – указатель на исходное изображение, а dstImage – указатель на изображение, в котором функция должна сохранить результат. Операция НЕ позволяет инвертировать изображение (Рис. 7).

iplNot

Рис. 7. Действие функции iplNot на полутоновое изображение

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

iplNot

Рис. 8. Действие функции iplNot на цветное изображение



<== предыдущая лекция | следующая лекция ==>
Эквализация | Выполнение арифметических операций


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.125 сек.