30. OpenCV шаг за шагом. Трансформация изображения - аффинные преобразования, гомография


Оглавление
1. OpenCV шаг за шагом. Введение.
2. Установка.
3. Hello World.
4. Загрузка картинки.
...
27. Детектор границ Кенни (Canny)
28. Преобразование Хафа
29. Интегральное изображение
30. Трансформация изображения — аффинные преобразования, гомография

Преобразование плоскости(изображения) называется аффинным, если оно взаимно однозначно и образом любой прямой является прямая.
Взаимно однозначное преобразование, переводит каждую точку плоскости(изображения) I в другую точку плоскости(изображения) I', таким образом, что каждой точке I соответствует какая-то точка I'.

( Читать дальше )
  • +1
  • 12 августа 2011, 07:33
  • noonv
  • 10

Пример работы самоорганизующейся инкрементной нейронной сети SOINN

Недавно здесь была новость про результаты исследований японских учёных из лаборатории Hasegawa Lab.
Робота научили решать задачи на основе базовых знаний

Учёные использовали «самоорганизующуюся инкрементную нейронную сеть» (Self-Organizing Incremental Neural Network — SOINN), для управления роботом HIRO (Kawada Industries) с целью решения задач на основе базовых знаний ( т.е. алгоритм ИИ делает предположения и принимает решения на основе своего предыдущего опыта).

Новость как новость, обошла все околонаучные и IT-ные порталы, с пометкой про ещё один шаг в сторону разумных машин с искусственным интеллектом на борту.

И всё бы ничего — в новостных лентах часто появляются новости про очередные мега-достижения в науке и технике, но зайдя на сайт Hasegawa Lab можно обнаружить статьи в формате PDF про их исследования и, что ещё более важно, проект на C++:

( Читать дальше )
  • +2
  • 6 августа 2011, 12:49
  • noonv
  • 5

Вопросы OpenCV - использование OpenCV под C#



Здравствуйте!
Меня интересует ваша ветка про «компьютерное зрение». Но вот незадача. Я в программировании не особо силен, и сейчас программирую на C#. А у вас все программы на C++. Есть ли у вас примеры на C# ?



( Читать дальше )
  • 0
  • 2 августа 2011, 08:47
  • noonv
  • 8

Вышла новая версия OpenCV 2.3


Недавно был выпущен релиз-кандидат 2.3rc и после некоторых баг-фиксов увидел свет релиз новой версии библиотеки компьютерного зрения — OpenCV2.3!

( Читать дальше )
  • 0
  • 5 июля 2011, 19:35
  • noonv
  • 2

Вышла новая версия OpenCV 2.3rc


Вышел релиз-кандидат (release candidate) очередной версии библиотеки компьютерного зрения — OpenCV2.3rc!

Что нового:


( Читать дальше )

OpenCV - голографическое кодирование картинки

Недавно на хабре появилось несколько интересных статей про голографическое кодирование и декодирование информации — Эксперимент с голографическим кодированием и декодированием информации и я, разумеется, сразу же захотел реализовать это дело под OpenCV :)


( Читать дальше )
  • +2
  • 25 июня 2011, 08:40
  • noonv
  • 1

OpenCV - Раскрашиваем картинку в градациях серого

Зачастую, алгоритмы компьютерного зрения работают с изображениями в градациях серого, но человек лучше воспринимает цветные изображения.

Значит, чтобы показать человеку картинку в градациях серого — её нужно раскрасить. Но как это сделать?

Возможно 3 варианта:
вручную, автоматически и в зависимости от заданных пределов.

Вручную — неинтересно.
Рассмотрим раскраску в заданных пределах.

( Читать дальше )
  • 0
  • 11 июня 2011, 09:56
  • noonv
  • 3

OpenCV - Сравнение изображений через хэш

Вчера на хабре появилась интересная статья про сравнение изображений — «Выглядит похоже». Как работает перцептивный хэш и я сразу же загорелся повторить этот алгоритм :)

Итак, идея алгоритма получения хеша изображения:
1. Уменьшить размер (cvResize()), чтобы оставить только значимые объекты картинки (избавление от высоких частот).
В изображениях, высокие частоты обеспечивают детализацию, а низкие частоты показывают структуру. Большая фотография содержит много высоких частот, а маленькая картинка целиком состоит из низких.


( Читать дальше )
  • 0
  • 4 июня 2011, 09:18
  • noonv
  • 12

29. OpenCV шаг за шагом. Интегральное изображение


Оглавление
1. OpenCV шаг за шагом. Введение.
2. Установка.
3. Hello World.
4. Загрузка картинки.
...
26. Операторы Собеля и Лапласа
27. Детектор границ Кенни (Canny)
28. Преобразование Хафа
29. Интегральное изображение

Раз уж мы научились брать производную от изображения, то было бы неплохо брать и интеграл изображения :)

Интегральное представление изображения — это матрица, размерность которой совпадает с размерностью исходного изображения. Элементы этой матрицы рассчитываются по формуле:
II(x,y) = Summ( I(i,j) )
, где I(i,j) — яркость пикселя исходного изображения.


( Читать дальше )
  • 0
  • 2 июня 2011, 20:03
  • noonv
  • 1

OpenCV - Сравнение изображений и генерация картинки отличий

Обработка изображений и компьютерное зрение — это очень широкое поле деятельности и самых разнообразных применений!
Например, недавно на хабре была статья "Сравнение изображений и генерация картинки отличий на Ruby", которая рассказывает о способе показать разницу между двумя версиями картинок, используемой сервисом Github.
Самый простой вариант — это обход каждого пикселя в первой картинке и проверке, есть ли этот пиксель во второй, но Github использует т.н. режим тональной разницы — при этом, мы так же обходим каждый пиксель в двух изображениях и вычисляем их разницу по каналам RGB.
Этот метод сравнения двух фотографий выдаёт картину отличий, вполне неплохо показывая изменения.
Недолго думая, я набросал этот метод сравнения для OpenCV:

( Читать дальше )
  • 0
  • 29 апреля 2011, 08:51
  • noonv
  • 8