русс | укр

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

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

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

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


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

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


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


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

void iplAddS(IplImage* srcImage, IplImage* dstImage, int value);

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

iplAddS

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

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

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

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

iplAdd

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

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

void iplSubtractS(IplImage* srcImage, IplImage* dstImage, int value, BOOL flip);

где srcImage – указатель на исходное изображение, а dstImage – указатель на изображение, в котором функция должна сохранить результат. Аргумент value представляет собой значение, которое будет вычитаться из значению интенсивности каждого пиксела изображения, если аргумент flip = false (Рис. 3). Если аргумент flip = false, то значение интенсивности каждого пиксела будет вычтено из значения аргумента value (Рис. 4).



iplSubtractS

Рис. 3. Действие функции iplSubtractS с аргументом value=50 и flip=false

iplSubtractS

Рис. 4. Действие функции iplSubtractS с аргументом value=200 и flip=true

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

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

где srcImageA и srcImageB – указатели на исходные изображения, а dstImage – указатель на изображение, в котором будет сохранен результат вычитания интенсивности пикселей изображения srcImageB из интенсивности пикселей изображения srcImageA, то есть (srcImageA - srcImageB). На рисунке 5 представлен результат вычитания изображения с горизонтальными линиями из изображения с вертикальными, а на рисунке 6 наоборот – результат вычитания изображения с вертикальными линиями из изображения с горизонтальными.

iplSubtract

Рис. 5. Действие функции iplSubtract

iplSubtract

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

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

void iplMultiplyS(IplImage* srcImage, IplImage* dstImage, int value);

где srcImage – указатель на исходное изображение, а dstImage – указатель на изображение, в котором функция должна сохранить результат. Аргумент value представляет собой целочисленное значение, на которое домножается значение интенсивности каждого пиксела изображения. Применение этой функции позволяет добиться существенного повышения яркости изображения (Рис. 7).

iplMultiplyS

Рис. 7. Действие функции iplMultiplyS с аргументом value=2

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

void iplMultiplySScale(IplImage* srcImage, IplImage* dstImage, int value);

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

dst_pixel = src_pixel * value / max_val

где src_pixelis – исходное значение интенсивности пиксела, dst_pixelis – новое значение интенсивности пиксела и max_valis – это максимально возможное значение интенсивности пиксела. Таким образом, эта функция может использоваться для домножения изображений на число большее 0 и меньшее 1. Результат действия этой функции представлен на рисунке 8.

iplMultiplySScale

Рис. 8. Действие функции iplMultiplySScale с аргументом value=200

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

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

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

iplMultiply

Рис. 9. Действие функции iplMultiply



<== предыдущая лекция | следующая лекция ==>
Выполнение логических операций | Общие понятия фильтрации изображений


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


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

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

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


 


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

 
 

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

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