Показаны сообщения с ярлыком awpipl. Показать все сообщения
Показаны сообщения с ярлыком awpipl. Показать все сообщения

четверг, 22 июля 2021 г.

Сравнение цветовых дескрипторов. HSL color compare

 ----------------

Задаем дескриптор
Встроенное изображение

Копируем его 
Встроенное изображение

Похожий объект
Встроенное изображение

Похожие цвета есть
Встроенное изображение

Встроенное изображение

не похожий объект
Встроенное изображение

Вообще не пересекается. 


среда, 21 июля 2021 г.

Модуль цветового кодирования и сравнения участка изображения по коду.

 Не учитывается пространственное распределение цвета. 

Четыре функции: 

colorCreate - возвращает модуль
colorBuild - возвращает дескриптор по изображению и прямоугольнику
colorCompare - сравнивает два дескриптора
colorRelease - удаляет модуль из памяти. 

Дескриптор - 19 чисел double = 16 оттенков + черный, белый и серый  
грубый дескриптор - 11 чисел double   = 8 оттенков + черный, белый и серый

Дескриптор получается из огрубления преобразования HSL 
и содержит гистограмму распределения пикселей по этим цветам в образце, который задан прямоугольником. 

Встроенное изображение



Так как используется преобразование HSL, а оно затратное, то все образцы, с которых будет получаться дескриптор приводятся к одному размеру (32x32) пикселя. 



понедельник, 3 февраля 2020 г.

AWPIPL documentation

Создана страничка с документацией по AWPIPL

Сама библиотека находится здесь

 

пятница, 11 августа 2017 г.

Обработка изображений и их анализ.

Обработка изображений: 

Пусть имеется изображение S(x, y) и имеется процесс преобразования его в другое изображение R(x,y) =  F[I(x,y)] этот процесс будем называть "обработкой изображения". К обработке изображения относятся процессы конвертации, фильтрации, нормировки, рисования примитивов на изображении, бинаризации и геометрические операции.
Основные операции обработки изображения, которые выполняет awpipl2
  1. Конвертация изображений 
  2. Нормировка изображений
  3. Фильтрация изображений 
  4. Геометрические преобразования 
  5. Отрисовка геометрических примитивов на изображениях. 

Анализ изображений:

Пусть имеется изображение S(x, y) и имеется процесс D[A(x,y)] преобразования этого изображения в другие данные (не изображение), в числа или списки, массивы или структуры данных, которые описывают свойства и характеристики S(x, y), то этот процесс будем называть "процессом анализа изображения".
Основные операции анализа изображений, которые выполняет awpipl2
  1. Вычисление статистических характеристик изображения S(x,y)
  2. Нахождение геометрических кластеров на изображении и вычисление их характеристик. 
  3. Нахождение объектов заданного типа на изображении. 
  4. Вычисление признаков изображения. 
  

среда, 3 октября 2012 г.

Нормировка изображений в OpenCV и awpipl2

OpenCV

Норма изображения ||Image|| OpenCV вычисляется с использованием функции cvNorm().
Прототип функции:

double cvNorm(const CvArr* arr1, const CvArr* arr2, int normType = CV_L2, const CvArr* mask)

arr1 - первое исходное изображение.
arr2 - второе исходное изображение.
normType - тип вычисляемой нормы.
mask - маска, по которой вычисляется норма изображений.

Если arr2 или arr2 = NULL, то вычисляется абсолютная норма первого или второго и изображения, в противном случае вычисляется абсолютная норма разности изображения, либо относительная норма разности изображений.

Типы вычисляемых норм.
normType может принимать следующие значения:

В случае, если одно из изображений NULL
CV_C    normC = ||arr|| = max(|arr(i)|)
CV_L1  normL1 = ||arr|| = Sum(|arr(i)|)
CV_L2  normL2 = ||arr|| = Sqrt(Sum(arr(i)*arr(i)))

В случае, если оба изображения не равны NULL


CV_C    normC = ||arr|| = max(|arr1(i)-arr2(i)|)
CV_L1  normL1 = ||arr|| = Sum(|arr1(i)-arr2(i)|)
CV_L2  normL2 = ||arr|| = Sqrt(Sum((arr1(i) - arr2(i))*(arr1(i) - arr2(i))))

В случае, если normType & CV_RELATIVE != 0


CV_C    normC = ||arr|| = max(|arr1(i)-arr2(i)|) /  max(|arr2(i)|)
CV_L1  normL1 = ||arr|| = Sum(|arr1(i)-arr2(i)|) /  Sum(|arr2(i)|)
CV_L2  normL2 = ||arr|| = Sqrt(Sum((arr1(i) - arr2(i))*(arr1(i) - arr2(i)))/ Sqrt(arr2(i)*arr2(i)))

Функция возвращает вычисленную норму. Много-канальное изображение рассматривается как одно-канальное и возвращается норма комбинации каналов.



awpipl2

Нормировка изображений в awpipl2 выполняется с помощью функции awpNormImage. Вычисление нормы изображение выполняется с помощью функции awpGetNorm.

Прототипы функций:

AWPRESULT awpGetNorm(const awpImage* src, const awpImage* mask, awpImage** result, int normType);

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

Комментарии:
awpGetNorm вычисляет норму изображения src, c учетом маски mask и сохраняет результат в изображение result. Размерности маски mask должны в точности соответствовать размерностям исходного изображения src, число каналов в должно быть равно 1, типа данных должен быть AWP_BYTE. Для вычисления нормы используются только те пиксели маски, значения которых не равны нулю. Если значение переменной mask равно NULL, то вычисляется норма всего изображения src. Формат результирующего изображения result AWP_DOUBLE, его высота равна 1,  ширина соответствует числу каналов изображения src, число каналов равно 1, значения нормы для каждого канала лежат в соответствующих пикселях изображения result. Если изображение result равно NULL, то функция awpGetNorm создает подходящее изображение, в противном случае использует изображение пользователя. Если формат или размерности изображения result, переданные пользователем в функцию awpGetNorm не соответствуют требованиям, описанным выше, то функция возвращает статус AWP_BADARG.

Типы вычисляемой нормы:
Параметр normType может принимать два значения

AWP_NORM_L1,  normL1 = ||src|| = Sum(|src(i)|)
AWP_NORM_L2,  normL2 = ||src|| = Sqrt(src(i)*src(i))

AWPRESULT awpNormImage(const awpImage* src, awpImage** result, int normType);


Параметры функции:
src - исходное изображение, для которого требуется выполнить нормировку.
result - результирующее нормированное изображение
normType - типы используемой нормировки

Комментарий:
awpNormImage выполняет нормировку normType изображения src и записывает результат в изображение result. Изображение result имеет тип AWP_DOUBLE, его размерности и число каналов соответствуют изображению src. В случае, если изображения result равно NULL, то функция awpNormImage создает подходящее изображение, в противном случае используется изображение пользователя. Если формат или размерности изображения result, переданные пользователем в функцию  awpNormImage  не соответствуют требованиям, описанным выше, то функция возвращает статус AWP_BADARG.

Типы используемой нормировки:
AWP_NORM_L1, result(i) = src(i) / ||src|| = src(i) / Sum(|src(i)|)
AWP_NORM_L2, result(i) = src(i) / ||src|| = src(i) / Sqrt(Sum(src(i)*src(i)))

В случае, если ||src|| равна 0, то функция awpNormImage возвращает статус AWP_EMPTY_IMAGE