31. OpenCV шаг за шагом. Типы данных OpenCV - хранилище памяти, последовательность


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

На шаге про преобразование Хафа, вы, возможно, обратили внимание, на непонятные типы данных CvMemStorage и CvSeq, которые использовались в примерах использования функций cvHoughLines2() и cvHoughCircles()

OpenCV использует сущность хранилища памяти (memory storage — CvMemStorage) в своих методах, для которых требуется хранить динамические объекты. Фактически, хранилище памяти — это связанный список блоков памяти.

( Читать дальше )
  • 0
  • 20 сентября 2011, 07:35
  • noonv
  • 1

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