Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 16 дек 2017, 21:40

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 21 окт 2016, 11:33 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Возникла необходимость в OpenCV.
Сюда выложу материалы, оказавшиеся полезными в освоении, выложу сюда.

OpenCV
Цитата:
OpenCV (англ. Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом) — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом. Реализована на C/C++, также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Может свободно использоваться в академических и коммерческих целях — распространяется в условиях лицензии BSD.

Цитата:
Основные модули
В версии 2.2 библиотека была реорганизована. Вместо универсальных модулей cxcore, cvaux, highGUI и других было создано несколько компактных модулей с более узкой специализацией:
opencv_core — основная функциональность. Включает в себя базовые структуры, вычисления (математические функции, генераторы случайных чисел) и линейную алгебру, DFT, DCT, ввод/вывод для XML и YAML и т. д.
opencv_imgproc — обработка изображений (фильтрация, геометрические преобразования, преобразование цветовых пространств и т. д.).
opencv_highgui — простой UI, ввод/вывод изображений и видео.
opencv_ml — модели машинного обучения (SVM, деревья решений, обучение со стимулированием и т. д.).
opencv_features2d — распознавание и описание плоских примитивов (SURF (англ.)русск., FAST и другие, включая специализированный фреймворк).
opencv_video — анализ движения и отслеживание объектов (оптический поток, шаблоны движения, устранение фона).
opencv_objdetect — обнаружение объектов на изображении (нахождение лиц с помощью алгоритма Виолы-Джонса (англ.), распознавание людей HOG и т. д.).
opencv_calib3d — калибровка камеры, поиск стерео-соответствия и элементы обработки трёхмерных данных.
opencv_flann — библиотека быстрого поиска ближайших соседей (FLANN 1.5) и обертки OpenCV.
opencv_contrib — сопутствующий код, ещё не готовый для применения.
opencv_legacy — устаревший код, сохранённый ради обратной совместимости.
opencv_gpu — ускорение некоторых функций OpenCV за счет CUDA, создан при поддержке NVidia.


Изображение
Лекция 4: Начало работы с библиотекой OpenCV

Изображение
OpenCV 2.4.13.1 documentation
OpenCV 3.1.0

Изображение
Цитата:
Буэно Г. Г., Обработка изображений с помощью Open CV, ДМК-Пресс, март 2016, 210 страниц, ISBN: 978-5-97060-387-1
http://www.books.ru/books/obrabotka-izobrazhenii-s-pomoshchyu-open-cv-4348689/?show=1


Изображение
Цитата:
Солем Я. Э., Программирование компьютерного зрения на Python, ДМК-Пресс, март 2016, 312 страниц, ISBN: 978-5-97060-200-3
http://www.books.ru/books/programmirovanie-kompyuternogo-zreniya-na-python-4344495/?show=1

Я не знаю где свободно скачать эти книги ... пока.
Но обязательно узнаю! :lol:

OpenCV шаг за шагом.
Цитата:

1. Введение.
2. Установка. (установка OpenCV под OC Linux, установка 2.3.1 )
3. Hello World.
4. Загрузка картинки.
5. Вывод видео
6. Ползунок
7. Захват видео с камеры
8. Запись видео
9. События от мышки
10. Обработка изображения - сглаживание
11. Обработка изображения - изменение размеров
12. ROI - интересующая область изображения
13. Типы данных OpenCV
14. Матрица
15. Сохранение данных в XML
16. Генерация случайных чисел
17. Обработка изображения - морфологические преобразования
18. Обработка изображения - морфологические преобразования 2
19. Обработка изображения - заливка части изображения
20. Обработка изображения - альфа-смешивание
21. Обработка изображения - пороговое преобразование
22. Поиск объекта по цвету - RGB.
23. Поиск объекта по цвету. Цветовое пространство HSV.
24. Работа с камерой через библиотеку videoInput.
25. Обработка изображения - свёртка.
26. Обработка изображения — операторы Собеля и Лапласа
27. Обработка изображения — детектор границ Кенни (Canny)
28. Преобразование Хафа
29. Интегральное изображение
30. Трансформация изображения - аффинные преобразования, гомография
31. Типы данных OpenCV - хранилище памяти, последовательность
32. Нахождение контуров и операции с ними
33. Сравнение контуров через суммарные характеристики - моменты
Детектирование объектов - поиск объекта по шаблону (Template matching)


Александр Кручинин, Распознавание образов с использованием OpenCV.
Цитата:
Материалы блога http://recog.ru


Интересные статьи:
Цитата:
OpenCV

Контурный анализ - детектирование зашумленного бинарного объекта
Основы работы с матрицами в OpenCV (C++ интерфейс)
Детектирование объектов с помощью особенностей в OpenCV: FREAK. Детектирование множества объектов.
Изображение
Нахождение объектов на изображении с использованием особенностей
Обучение каскадного классификатора
Распознавание лиц в OpenCV (facerec_demo.cpp)
Детектирование объектов - поиск объекта по шаблону (Template matching)
Изображение


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 21 окт 2016, 11:37 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Код:
[olej@dell openCV]$ sudo dnf install opencv-devel*
[sudo] пароль для olej:
Fedora 23 - x86_64 - Test Updates                                                                         2.4 MB/s | 2.2 MB     00:00   
Последняя проверка окончания срока действия метаданных: 0:00:01 назад, Fri Oct 21 11:35:02 2016.
Зависимости разрешены.
==========================================================================================================================================
 Package                               Архитектура                Версия                                Репозиторий                 Размер
==========================================================================================================================================
Установка:
 opencv-devel                          x86_64                     2.4.12.3-1.fc23                       updates                     588 k
 opencv-devel-docs                     noarch                     2.4.12.3-1.fc23                       updates                     6.5 M

Результат операции
==========================================================================================================================================
Установка  2 Пакеты

Объем загрузки: 7.0 M
Объем изменений: 12 M
Продолжить? [д/Н]: y
Загрузка пакетов:
[MIRROR] opencv-devel-2.4.12.3-1.fc23.x86_64.rpm: Curl error (7): Couldn't connect to server for http://fedora.ip-connect.vn.ua/linux/updates/23/x86_64/o/opencv-devel-2.4.12.3-1.fc23.x86_64.rpm [Failed to connect to fedora.ip-connect.vn.ua port 80: В соединении отказано]
[MIRROR] opencv-devel-docs-2.4.12.3-1.fc23.noarch.rpm: Curl error (7): Couldn't connect to server for http://fedora.ip-connect.vn.ua/linux/updates/23/x86_64/o/opencv-devel-docs-2.4.12.3-1.fc23.noarch.rpm [Failed to connect to fedora.ip-connect.vn.ua port 80: В соединении отказано]
(1/2): opencv-devel-2.4.12.3-1.fc23.x86_64.rpm                                                            495 kB/s | 588 kB     00:01   
(2/2): opencv-devel-docs-2.4.12.3-1.fc23.noarch.rpm                                                       1.6 MB/s | 6.5 MB     00:04   
------------------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                              1.4 MB/s | 7.0 MB     00:05     
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Установка    : opencv-devel-2.4.12.3-1.fc23.x86_64                                                                                  1/2
  Установка    : opencv-devel-docs-2.4.12.3-1.fc23.noarch                                                                             2/2
  Проверка     : opencv-devel-2.4.12.3-1.fc23.x86_64                                                                                  1/2
  Проверка     : opencv-devel-docs-2.4.12.3-1.fc23.noarch                                                                             2/2

Установлено:
  opencv-devel.x86_64 2.4.12.3-1.fc23                               opencv-devel-docs.noarch 2.4.12.3-1.fc23                             

Выполнено!

Код:
[olej@dell openCV]$ dnf list opencv*
Последняя проверка окончания срока действия метаданных: 20 days, 20:50:44 назад, Fri Sep 30 14:45:42 2016.
Установленные пакеты
opencv.x86_64                                                        2.4.12.3-1.fc23                                              @updates
opencv-core.x86_64                                                   2.4.12.3-1.fc23                                              @updates
opencv-devel.x86_64                                                  2.4.12.3-1.fc23                                              @updates
opencv-devel-docs.noarch                                             2.4.12.3-1.fc23                                              @updates
opencv-python.x86_64                                                 2.4.12.3-1.fc23                                              @updates
Доступные пакеты
opencv.i686                                                          2.4.12.3-1.fc23                                              updates
opencv-core.i686                                                     2.4.12.3-1.fc23                                              updates
opencv-devel.i686                                                    2.4.12.3-1.fc23                                              updates

Код:
[olej@dell include]$ ls /usr/include/opencv*
/usr/include/opencv:
cvaux.h  cvaux.hpp  cv.h  cv.hpp  cvwimage.h  cxcore.h  cxcore.hpp  cxeigen.hpp  cxmisc.h  highgui.h  ml.h

/usr/include/opencv2:
calib3d      core.hpp        flann.hpp    imgproc      ml.hpp         opencv.hpp          stitching      ts         videostab
calib3d.hpp  features2d      gpu          imgproc.hpp  objdetect      opencv_modules.hpp  stitching.hpp  ts.hpp     videostab.hpp
contrib      features2d.hpp  highgui      legacy       objdetect.hpp  photo               superres       video
core         flann           highgui.hpp  ml           ocl            photo.hpp           superres.hpp   video.hpp


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 21 окт 2016, 12:23 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Проверяю то, что установилось - 1-й попавшийся на глаз тест на Python ... с некоторыми моими модификациями:
Код:
[olej@dell openCV]$ python --version
Python 2.7.11

Тестовый .jpg файл из установленных examples OpenCV:
Код:
[olej@dell triangle]$ sudo find / -name lena.jpg
[sudo] пароль для olej:
/usr/share/OpenCV/samples/c/lena.jpg
/usr/share/OpenCV/samples/cpp/lena.jpg

Копирую этот файл в рабочий каталог...
Тест first.py :
Код:
#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys, cv2 as cv               # Импортируем модуль OpenCV (cv2) под именем cv
img = cv.imread( sys.argv[ 1 ], 1 ) # Загружаем изображение
cv.imshow( "original", img )        # Отрисовываем изображение
gray = cv.cvtColor( img, cv.COLOR_BGR2GRAY )   # Конвертируем цветное изображение в монохромное
gray = cv.GaussianBlur( gray, ( 7, 7 ), 1.5 )  # Добавляем размытие
edges = cv.Canny( gray, 0, 50 )                # Запускаем детектор ребер
cv.imshow( "edges", edges )         # Отображаем результат
cv.waitKey()                        # Ожидаем нажатия любой клавиши для завершения работы 

Запуск:
Код:
[olej@dell openCV]$ chmod a+x first.py

Код:
[olej@dell openCV]$ ./first.py lena.jpg
...

Вложение:
l1.png
l1.png [ 485.6 КБ | Просмотров: 3443 ]
Вложение:
l2.png
l2.png [ 29.03 КБ | Просмотров: 3443 ]


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 21 окт 2016, 12:38 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Olej писал(а):
Проверяю то, что установилось

И то же самое для C/C++ ... пока это - первый попавшийся в wiki код с небольшими правками...
Здесь самая важная для меня проверка - это Makefile:
Код:
CFLAGS := `pkg-config --cflags opencv` $(CFLAGS)
CXXFLAGS := `pkg-config --cflags opencv` $(CXXFLAGS)
LDFLAGS := `pkg-config --libs opencv` $(LDFLAGS)

PROGRAMS := first

all: $(PROGRAMS)

clean:
        rm -f $(PROGRAMS)

В итоге:
Код:
[olej@dell openCV]$ make
g++ `pkg-config --cflags opencv`   `pkg-config --libs opencv`   first.cc   -o first

[olej@dell openCV]$ ls -l first
-rwxrwxr-x 1 olej olej 60552 окт 21 12:29 first


Вот теперь всё нормально, проверено... и можно приступать к содержательным тестам.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 23 окт 2016, 17:09 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Olej писал(а):
Сюда выложу материалы, оказавшиеся полезными в освоении, выложу сюда.

Продолжение...
(это всё англоязычные книги, которые можно скачать с торента по показанным ссылкам)

Изображение
OpenCV with Python Blueprints
Цитата:
Год издания: 2015
Автор: Michael Beyeler
Издательство: Packt Publishing
ISBN: 9781785282690
Язык: Английский
Формат: PDF/EPUB
Количество страниц: 230


Изображение
OpenCV By Example
Цитата:
Год издания: 2016
Автор: David Millan Escriva, Prateek Joshi, Vinicius Godoy
Издательство: Packt Publishing
ISBN: 9781785280948
Язык: Английский
Формат: PDF
Количество страниц: 296


Изображение
Learning Image Processing with OpenCV
Цитата:
Год: 2015
Автор: Gloria Bueno García, Oscar Deniz Suarez, José Luis Espinosa Aranda, Jesus Salido Tercero, Ismael Serrano Gracia, Noelia Vállez Enano
Издательство: Packt Publishing
ISBN: 9781783287659
Язык: Английский
Формат: PDF/ePub
Качество: Изначально компьютерное (eBook)
Интерактивное оглавление: Да
Количество страниц: 232

Это оригинал с которого издан показанные раньше русский перевод:
Изображение

Изображение
OpenCV Computer Vision with Python
Цитата:
Год: 2013
Автор: Joseph Howse
Жанр: Программирование
Издательство: Packt Publishing
ISBN: 9781782163923
Язык: Английский
Формат: PDF
Качество: Изначально компьютерное (eBook)
Интерактивное оглавление: Да
Количество страниц: 122


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 23 окт 2016, 22:34 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Olej писал(а):
Продолжение...
(это всё англоязычные книги, которые можно скачать с торента по показанным ссылкам)


Изображение
OpenCV 2 Computer Vision Application Programming Cookbook
Цитата:
Год: 2011
Автор: Robert Laganière
Жанр: Программирование
Издательство: Packt Publishing
ISBN: 978-1-849513-24-1
Язык: Английский
Формат: PDF
Качество: Изначально компьютерное (eBook)
Количество страниц: 298


Изображение
Learning OpenCV
Цитата:
Год выпуска: 2008
Автор: Dr. Gary Rost Bradski; Adrian Kaehler
Жанр: Алгоритмы графической обработки для систем машинного зрения
Издательство: O'Reilly Media, Inc.
ISBN: 978-0-596-51613-0
Формат: PDF
Качество: eBook (изначально компьютерное)
Количество страниц: 556


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 23 окт 2016, 22:46 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
И вот здесь можно посмотреть практически все вышедшие оригинальные книги по OpenCV (а заодно и их стоимости :lol: ):
Published books about OpenCV library:
Здесь 38 англоязычных книг + 4 японских.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 24 окт 2016, 11:51 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 18 окт 2011, 20:26
Сообщения: 73
Вот с бабочкой еще есть :lol:
Mastering OpenCV with Practical Computer Vision Projects

Вложение:
Mastering_OpenCV_with_Practical_Computer_Vision_Projects.jpg
Mastering_OpenCV_with_Practical_Computer_Vision_Projects.jpg [ 94.11 КБ | Просмотров: 3431 ]


-Год: 2012
-Автор: Daniel Lelis Baggio
-Жанр: Программирование
-Издательство: Packt Publishing
-ISBN-13: 978-1-84951-782-9
-Язык: Английский
-Формат: PDF
-Качество: Изначально компьютерное (eBook)
-Количество страниц: 284

Source-Code: https://github.com/MasteringOpenCV/code

Раз уж создали тему, вот здесь давал пример обнаружения объектов на изображении (OpenCV-Python)
Watch on youtube.com


и еще видео Оптическое распознавание символов с помощью OpenCV-Python


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 24 окт 2016, 12:40 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10265
Откуда: Харьков
Lepton писал(а):
Раз уж создали тему, вот здесь давал пример обнаружения объектов на изображении (OpenCV-Python)
Watch on youtube.com


Интересно, но ... а). пример глухонемой (видео), б). код не очень понятный ... странно, в). негде взять файлы данных (.jpg, .xml) чтобы воспроизвести пример, а любые примеры в программировании представляют интерес (IMHO выработанное годами), только если их можно воспроизвести.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: OpenCV и компьютерное зрение
Непрочитанное сообщениеДобавлено: 24 окт 2016, 15:32 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 18 окт 2011, 20:26
Сообщения: 73
Olej писал(а):
негде взять файлы данных (.jpg, .xml) чтобы воспроизвести пример,.


Каскадный классификатор Хаара можно найти в сети (можно взять haarcascade_frontalface_default.xml здесь: http://alereimondo.no-ip.org/OpenCV/34). Ну а "картинок" в интернет полно :lol:

[detected.py]
Код:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import cv2
import numpy as np
import sys

scf = 1.30
scfact = 1.00

color = (0,0,255)
strokeWeight = 3

cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

cv2.namedWindow('Frontal Face',cv2.WINDOW_NORMAL)

if len(sys.argv) != 2:
    print "No input image given. Correct Usage : python CensorBreast.py <filename> \n"
    raise SystemExit(1)

filename = sys.argv[1]

def nothing(*argv):
    pass

def trackbar():
    global scfact
    r = cv2.getTrackbarPos('FaceDet','Frontal Face')
    scfact = 1.07+0.01*r
    return scfact

def update():
    img = cv2.imread(filename)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    rects = cascade.detectMultiScale(gray, scfact, 2)

    for (x,y,w,h) in rects:
        cv2.rectangle(img, (x,y), (x+w,y+h), color, -1)
        cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), strokeWeight)

    font = cv2.FONT_HERSHEY_SIMPLEX
    cv2.putText(img,'ScaleFactor:'+str(scfact),(10,30), font, 1,(255,0,0),2,cv2.LINE_AA)

    cv2.imshow('Frontal Face',img)

cv2.createTrackbar('FaceDet','Frontal Face',0,50,nothing)

while (1):
    k = cv2.waitKey(25) & 0xFF
    if k == 27:
        break

    trackbar()

    if scf == scfact:
        pass
    else:
       update()
       scf = scfact
cv2.destroyAllWindows()


Код:
$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.0.0-beta'

$ python detected.py bin.jpg


Вложение:
face_detect.png
face_detect.png [ 302.96 КБ | Просмотров: 3424 ]


P/S haarcascade_breast.xml в сети не найдете, т.к. обучение этого классификатора делалось на заказ.


Вложения:
face_detected.tar [1.33 МБ]
Скачиваний: 65
Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.335s | 22 Queries | GZIP : On ]