Open CV (продолжение) ...

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Open CV (продолжение) ...

Непрочитанное сообщение Olej » 15 июл 2018, 10:08

Снова возникла нужда в компьютерном зрении :-P
Уже есть такая тема - OpenCV и компьютерное зрение, но она уже сильно перегружена, поэтому продолжаем в новой теме...

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 15 июл 2018, 10:37

Из книг, вышедших за это время:

Изображение
Кэлер, Брэдски: Изучаем OpenCV 3
SBN: 978-5-97060-471-7
826 страниц
март 2017
ДМК Пресс
Оригинал (англоязычный) книги свободно можно: здесь.

Изображение
Ян Эрик Солем
Программирование компьютерного зрения на Python
ISBN: 978-5-97060-200-3
312 страниц
март 2016
ДМК Пресс

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 15 июл 2018, 16:49

Изображение
Дэвид А. Форсайт, Джин Понс
Компьютерное зрение. Современный подход
ISBN: 9785845905420
960 страниц
февраль 2018
Вильямс
Скачать свободно торент книги моэно здесь: Дэвид Форсайт, Жан Понс | Компьютерное зрение. Современный подход [2004] [DJVU]
Здесь глубочайшая математическая теория методов компьютерного зрения - такое лучше ситать в переводе на русский.
Требует очень серьёзной математической подготовки.
Хоть это и перевод с издания 2004г., но актуальность именно этого издания не убыла.
Компьютерное зрение — это одна из самых востребованных областей на современном этапе развития цифровых компьютерных технологий. Оно требуется на производстве, при управлении роботами, при автоматизации процессов, в медицинских и военных приложениях, при наблюдении со спутников и при работе с персональными компьютерами, в частности поиске цифровых изображений. Книга ориентирована на широкий круг читателей, интересующихся данной областью, в первую очередь — на студентов и преподавателей технических вузов, занимающихся аналитической геометрией, компьютерной графикой, обработкой изображений и робототехникой.
Изображение
Л. Шапиро, Д. Стокман
Компьютерное зрение
ISBN: 5-94774-384-1
752 страницы
март 2006
Скачать свободно торент книги моэно здесь: Л.Шапиро, Дж.Стокман | Компьютерное зрение [2006] [DJVU]
В данной книге теоретические аспекты обработки зрительных данных рассматриваются с привлечением большого количества примеров из практических задач. Наряду с классическими темами, в книге рассматриваются базы данных изображений и системы виртуальной и дополненной реальности. Приведены примеры приложений в промышленности, медицине, землепользовании, мультимедиа и компьютерной графике.

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 15 июл 2018, 17:00

Изображение
OpenCV Computer Vision with Python
Год: 2013
Автор: Joseph Howse
Издательство: Packt Publishing
ISBN: 9781782163923
Язык: Английский
Формат: PDF
Интерактивное оглавление: Да
Количество страниц: 122
Скачать свободно торент книги можете по ссылке на картинке.
Здесь, кроме новизны, интересно то, что это Python.

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 16 июл 2018, 17:18

В дистрибутивах - изрядное обновление со времени моей последней работы с OpenCV:

Код: Выделить всё

[olej@xenix ~]$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 27 (Twenty Seven)
Release:        27
Codename:       TwentySeven

Код: Выделить всё

[olej@xenix ~]$ dnf list opencv*
Последняя проверка окончания срока действия метаданных: 0:00:10 назад, Пн 16 июл 2018 17:10:32.
Имеющиеся пакеты
opencv.i686                                                                   3.2.0-15.fc27                                                       updates
opencv.x86_64                                                                 3.2.0-15.fc27                                                       updates
opencv-contrib.i686                                                           3.2.0-15.fc27                                                       updates
opencv-contrib.x86_64                                                         3.2.0-15.fc27                                                       updates
opencv-core.i686                                                              3.2.0-15.fc27                                                       updates
opencv-core.x86_64                                                            3.2.0-15.fc27                                                       updates
opencv-devel.i686                                                             3.2.0-15.fc27                                                       updates
opencv-devel.x86_64                                                           3.2.0-15.fc27                                                       updates
opencv-devel-docs.noarch                                                      3.2.0-15.fc27                                                       updates
opencv-python3.x86_64                                                         3.2.0-15.fc27                                                       updates
Итого ... про все 2.4.12 и подобные - нужно забыть, и всё...

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 16 июл 2018, 17:24

Olej писал(а):В дистрибутивах - изрядное обновление со времени моей последней работы с OpenCV:
Чтоб не мелочиться:

Код: Выделить всё

[olej@xenix ~]$ sudo dnf install '*opencv*'
[sudo] пароль для olej: 
Последняя проверка окончания срока действия метаданных: 0:13:42 назад, Пн 16 июл 2018 17:06:55.
Зависимости разрешены.
=========================================================================================================================================================
 Пакет                                        Архитектура                  Версия                                    Репозиторий                   Размер
=========================================================================================================================================================
Установка:
 frei0r-plugins-opencv                        x86_64                       1.6.1-2.fc27                              fedora                         33 k
 libfreenect-opencv                           x86_64                       0.5.7-2.fc27                              updates                        19 k
 opencv                                       x86_64                       3.2.0-15.fc27                             updates                       1.6 M
 opencv-contrib                               x86_64                       3.2.0-15.fc27                             updates                       2.1 M
 opencv-devel                                 x86_64                       3.2.0-15.fc27                             updates                       801 k
 opencv-devel-docs                            noarch                       3.2.0-15.fc27                             updates                        12 M
 opencv-python3                               x86_64                       3.2.0-15.fc27                             updates                       615 k
 python2-opencv                               x86_64                       3.2.0-15.fc27                             updates                       615 k
Установка зависимостей:
 SuperLU                                      x86_64                       5.2.0-4.fc27                              fedora                        191 k
 armadillo                                    x86_64                       7.900.1-3.fc27                            fedora                         29 k
 arpack                                       x86_64                       3.5.0-4.fc27                              fedora                        191 k
 blas                                         x86_64                       3.8.0-9.fc27                              updates                       428 k
 cfitsio                                      x86_64                       3.370-10.fc27                             fedora                        545 k
 freeglut                                     x86_64                       3.0.0-6.fc27                              fedora                        189 k
 freexl                                       x86_64                       1.0.5-1.fc27                              updates                        37 k
 frei0r-plugins                               x86_64                       1.6.1-2.fc27                              fedora                        611 k
 gavl                                         x86_64                       1.4.0-11.fc27                             fedora                        2.6 M
 gdal-libs                                    x86_64                       2.1.4-5.1.fc27                            updates                       5.7 M
 geos                                         x86_64                       3.6.1-4.fc27                              fedora                        566 k
 hdf5                                         x86_64                       1.8.18-11.fc27                            fedora                        1.8 M
 lapack                                       x86_64                       3.8.0-9.fc27                              updates                       8.6 M
 leptonica                                    x86_64                       1.74.4-5.fc27                             updates                       1.0 M
 libaec                                       x86_64                       1.0.2-1.fc27                              updates                        37 k
 libdap                                       x86_64                       3.18.3-4.fc27                             fedora                        613 k
 libdc1394                                    x86_64                       2.2.2-9.fc27                              fedora                        124 k
 libfreenect                                  x86_64                       0.5.7-2.fc27                              updates                       128 k
 libgdither                                   x86_64                       0.6-14.fc27                               fedora                         24 k
 libgeotiff                                   x86_64                       1.4.0-11.fc27                             fedora                        715 k
 libgta                                       x86_64                       1.0.7-6.fc27                              fedora                         38 k
 libkml                                       x86_64                       1.3.0-8.fc27                              fedora                        333 k
 libspatialite                                x86_64                       4.3.0a-6.fc27                             fedora                        2.6 M
 libucil                                      x86_64                       0.9.10-15.fc27                            fedora                         75 k
 libunicap                                    x86_64                       0.9.12-20.fc27                            fedora                        125 k
 mariadb-common                               x86_64                       3:10.2.16-1.fc27                          updates                        65 k
 mariadb-config                               x86_64                       3:10.2.16-1.fc27                          updates                        40 k
 mariadb-libs                                 x86_64                       3:10.2.16-1.fc27                          updates                       155 k
 netcdf                                       x86_64                       4.4.1.1-6.fc27                            fedora                        744 k
 ogdi                                         x86_64                       3.2.0-3.fc27                              fedora                        273 k
 openblas-openmp                              x86_64                       0.3.1-1.fc27                              updates                       4.7 M
 openblas-threads64_                          x86_64                       0.3.1-1.fc27                              updates                       4.6 M
 opencv-core                                  x86_64                       3.2.0-15.fc27                             updates                       3.6 M
 openni                                       x86_64                       1.5.7.10-11.fc27                          fedora                        390 k
 postgresql-libs                              x86_64                       9.6.9-1.fc27                              updates                       257 k
 proj                                         x86_64                       4.9.3-4.fc27                              fedora                        232 k
 python3-numpy                                x86_64                       1:1.13.3-4.fc27                           updates                       3.5 M
 tesseract                                    x86_64                       3.05.01-3.fc27                            fedora                         11 M
 tinyxml                                      x86_64                       2.6.2-14.fc27                             fedora                         54 k
 unixODBC                                     x86_64                       2.3.5-2.fc27                              updates                       447 k
 uriparser                                    x86_64                       0.8.5-1.fc27                              updates                        57 k
Установка слабых зависимостей:
 tesseract-langpack-rus                       noarch                       3.05.01-3.fc27                            fedora                        7.2 M

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

Объем загрузки: 82 M
Объем изменений: 323 M
Продолжить? [д/Н]: y
...
Установлено:
  frei0r-plugins-opencv.x86_64 1.6.1-2.fc27          libfreenect-opencv.x86_64 0.5.7-2.fc27           opencv.x86_64 3.2.0-15.fc27                          
  opencv-contrib.x86_64 3.2.0-15.fc27                opencv-devel.x86_64 3.2.0-15.fc27                opencv-devel-docs.noarch 3.2.0-15.fc27               
  opencv-python3.x86_64 3.2.0-15.fc27                python2-opencv.x86_64 3.2.0-15.fc27              tesseract-langpack-rus.noarch 3.05.01-3.fc27         
  SuperLU.x86_64 5.2.0-4.fc27                        armadillo.x86_64 7.900.1-3.fc27                  arpack.x86_64 3.5.0-4.fc27                           
  blas.x86_64 3.8.0-9.fc27                           cfitsio.x86_64 3.370-10.fc27                     freeglut.x86_64 3.0.0-6.fc27                         
  freexl.x86_64 1.0.5-1.fc27                         frei0r-plugins.x86_64 1.6.1-2.fc27               gavl.x86_64 1.4.0-11.fc27                            
  gdal-libs.x86_64 2.1.4-5.1.fc27                    geos.x86_64 3.6.1-4.fc27                         hdf5.x86_64 1.8.18-11.fc27                           
  lapack.x86_64 3.8.0-9.fc27                         leptonica.x86_64 1.74.4-5.fc27                   libaec.x86_64 1.0.2-1.fc27                           
  libdap.x86_64 3.18.3-4.fc27                        libdc1394.x86_64 2.2.2-9.fc27                    libfreenect.x86_64 0.5.7-2.fc27                      
  libgdither.x86_64 0.6-14.fc27                      libgeotiff.x86_64 1.4.0-11.fc27                  libgta.x86_64 1.0.7-6.fc27                           
  libkml.x86_64 1.3.0-8.fc27                         libspatialite.x86_64 4.3.0a-6.fc27               libucil.x86_64 0.9.10-15.fc27                        
  libunicap.x86_64 0.9.12-20.fc27                    mariadb-common.x86_64 3:10.2.16-1.fc27           mariadb-config.x86_64 3:10.2.16-1.fc27               
  mariadb-libs.x86_64 3:10.2.16-1.fc27               netcdf.x86_64 4.4.1.1-6.fc27                     ogdi.x86_64 3.2.0-3.fc27                             
  openblas-openmp.x86_64 0.3.1-1.fc27                openblas-threads64_.x86_64 0.3.1-1.fc27          opencv-core.x86_64 3.2.0-15.fc27                     
  openni.x86_64 1.5.7.10-11.fc27                     postgresql-libs.x86_64 9.6.9-1.fc27              proj.x86_64 4.9.3-4.fc27                             
  python3-numpy.x86_64 1:1.13.3-4.fc27               tesseract.x86_64 3.05.01-3.fc27                  tinyxml.x86_64 2.6.2-14.fc27                         
  unixODBC.x86_64 2.3.5-2.fc27                       uriparser.x86_64 0.8.5-1.fc27                   

Выполнено!

Не слабо так! :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 16 июл 2018, 17:46

Olej писал(а):Итого ... про все 2.4.12 и подобные - нужно забыть, и всё...
От версии к версии OpenCV API всё существенно сильно меняется!
Это нужно учитывать, разбираясь со своими прежними примерами кодов + примерами в Интернет.
Документация - здесь ... например: https://docs.opencv.org/3.2.0/db/d7c/group__face.html
На сегодня из GIT можно установить-собрать версии: 3.3, 3.4.2 ... пререлиз 4.0.0.
Но я не вижу необходимости ... пока.

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 16 июл 2018, 18:07

Olej писал(а):Не слабо так! :lol:
Проверяю состояние дел:

Код: Выделить всё

[olej@xenix include]$ ls /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

[olej@xenix include]$ ls /usr/include/opencv2
aruco            core.hpp        flann         imgcodecs.hpp        opencv_modules.hpp    rgbd.hpp          structured_light.hpp  videoio.hpp
aruco.hpp        cvconfig.h      flann.hpp     imgproc              optflow               saliency          superres              videostab
bgsegm.hpp       cvv             freetype.hpp  imgproc.hpp          optflow.hpp           saliency.hpp      superres.hpp          videostab.hpp
bioinspired      cvv.hpp         fuzzy         line_descriptor      phase_unwrapping      shape             surface_matching      ximgproc
bioinspired.hpp  datasets        fuzzy.hpp     line_descriptor.hpp  phase_unwrapping.hpp  shape.hpp         surface_matching.hpp  ximgproc.hpp
calib3d          dpm.hpp         hdf           ml                   photo                 stereo            text                  xobjdetect.hpp
calib3d.hpp      face            hdf.hpp       ml.hpp               photo.hpp             stereo.hpp        text.hpp              xphoto
ccalib           face.hpp        highgui       objdetect            plot.hpp              stitching         video                 xphoto.hpp
ccalib.hpp       features2d      highgui.hpp   objdetect.hpp        reg                   stitching.hpp     video.hpp
core             features2d.hpp  imgcodecs     opencv.hpp           rgbd                  structured_light  videoio
Проверка приложением Python (то что 2 года назад):
Результат тот же - успешный! (с отображением картинок).
С единственной разницей - аварийное завершение по cv.waitKey() :

Код: Выделить всё

[olej@xenix RoboCraft]$ python3 ./first.py lena.jpg 
Ошибка сегментирования (стек памяти сброшен на диск)
И ни в какую не реагирует на завершение ^C:

Код: Выделить всё

[olej@xenix RoboCraft]$ ./first.py lena.jpg 
^C
^C^C^C
И завершается по ^Z:

Код: Выделить всё

[olej@xenix RoboCraft]$ python3 ./first.py lena.jpg 
^Z
[2]+  Остановлен    python3 ./first.py lena.jpg

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 16 июл 2018, 18:13

Olej писал(а): Проверка приложением Python (то что 2 года назад):
C / C++ :

Код: Выделить всё

[olej@xenix RoboCraft]$ pkg-config --cflags opencv
-I/usr/include/opencv 

[olej@xenix RoboCraft]$ pkg-config --libs opencv
-lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_cvv -lopencv_datasets -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_line_descriptor -lopencv_optflow -lopencv_video -lopencv_plot -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_rgbd -lopencv_surface_matching -lopencv_text -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core 

Код: Выделить всё

[olej@xenix RoboCraft]$ make first
g++ `pkg-config --cflags opencv` -Wall -std=c++11   `pkg-config --libs opencv`   first.cc   -o first
first.cc: В функции «int main()»:
first.cc:30:5: ошибка: нет декларации «cvGetModuleInfo» в этой области видимости
     cvGetModuleInfo(0,0,&plugin_info);
     ^~~~~~~~~~~~~~~
first.cc:30:5: замечание: suggested alternative: «CvModuleInfo»
     cvGetModuleInfo(0,0,&plugin_info);
     ^~~~~~~~~~~~~~~
     CvModuleInfo
make: *** [<встроенное>: first] Ошибка 1
Вот это оно и есть! :-o :
Olej писал(а): От версии к версии OpenCV API всё существенно сильно меняется!
Это нужно учитывать, разбираясь со своими прежними примерами кодов + примерами в Интернет.
Но (это всё из чего-то того, что делалось 2 года назад):

Код: Выделить всё

#include <opencv2/opencv.hpp> 
using namespace cv;

int main( int argc, char** argv ) {
   Mat img, gray, edges;                          // Объявление матриц 
   img = imread( argv[ 1 ], 1 );                  // Читаем изображение 
   imshow( "original", img );                     // Отрисовываем изображение 
   cvtColor( img, gray, COLOR_BGR2GRAY );         // Конвертируем в монохромный формат 
   GaussianBlur( gray, gray, Size( 7, 7 ), 1.5 ); // Устраняем размытие 
   Canny( gray, edges, 0, 50 );                   // Запускаем детектор ребер 
   imshow( "edges", edges );                      // Отрисовываем изображение 
   waitKey();                                     // Ожидаем нажатия клавиши 
}

Код: Выделить всё

[olej@xenix RoboCraft]$ make second
g++ `pkg-config --cflags opencv` -Wall -std=c++11   `pkg-config --libs opencv`   second.cc   -o second

[olej@xenix RoboCraft]$ ./second lena.jpg 
...

Аватара пользователя
Olej
Писатель
Сообщения: 12753
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Open CV (продолжение) ...

Непрочитанное сообщение Olej » 16 июл 2018, 20:21

Проверяемся с версией установленного OpenCV (есть разные хосты, и будет ещё обновления):

Код: Выделить всё

[olej@xenix ~]$ python
Python 2.7.15 (default, May 15 2018, 15:37:31) 
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'
>>> exit()
Ошибка сегментирования (стек памяти сброшен на диск)
Откуда и почему вываливается эта ошибка сегментирования нужно ещё выясняться...

Ответить

Вернуться в «Программирование»

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

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