kostyakulakov / russian_system_of_anpr Goto Github PK
View Code? Open in Web Editor NEWThe Russian system of automatic number plate recognition
License: Other
The Russian system of automatic number plate recognition
License: Other
Можно ли прикрутить к openalpr распознавание российских номеров? Закинул в runtime_data xml файлик, сделал конфиг, но ничего не заработало.
У вас 2 ошибки в ридми,
этот пакет в убунту сломали libopencv-nonfree-dev, какие-то зависимости смежные и он не устанавливается. В связи с чем попробывал убрать -l:libopencv_nonfree.so.2.4.9 из сброки и оно собралось. В самом описании вы забыли указать cd src/
подскажите как запустить на убунту 18.10, opencv 3.2 ???
Excuse me. Which license plate dataset you are training on? Could you please provide a training dataset? Thanks so much!
Тоже долго мучался со сборкой, в общем самое простое - поставить Debian с репозиторием, в котором находятся устаревшие библиотеки - с ними проблем сборки нет. Debian, поскольку они молятся на протестированные (читай "старые") библиотеки и в репо можно их найти. В остальных дистрибутивах, скорее всего, будет последний OpenCV (придётся переписывать проект) или его не будет в списках доступных дистрибутивов вовсе.
Мы сильно зависим от версии OpenCV, поэтому ищем через поиск пакетов название репозитория, в котором будет OpenCV второй версии:
В моём случае это stretch
. Поскольку установка пакетов из неродного репозитория, скорее всего, не выйдет из-за неразрешённых зависимостей, ищем версию Debian с этим репозиторием из коробки. В случае stretch
это Debian 9.
После установки идём в консоль и ставим пакеты:
sudo apt-get install build-essential git libleptonica-dev libtesseract3-dev libopencv-dev libcanberra-gtk-module
Ещё я ставил qtbase5-dev
и qtcreator
, если вдруг apt будет материть пакеты после build-essential
- пишите sudo apt-get install build-essential qtbase5-dev qtcreator git libleptonica-dev libtesseract3-dev libopencv-dev libcanberra-gtk-module
После получения кода (Getting last build and setuping
в Readme репозитория) компилируем из папки src
так:
g++ *.cpp -l:libopencv_core.so.2.4.9 -l:libopencv_highgui.so.2.4.9 -l:libopencv_video.so.2.4.9 -l:libopencv_calib3d.so.2.4.9 -l:libopencv_contrib.so.2.4.9 -l:libopencv_features2d.so.2.4.9 -l:libopencv_flann.so.2.4.9 -l:libopencv_gpu.so.2.4.9 -l:libopencv_imgproc.so.2.4.9 -l:libopencv_legacy.so.2.4.9 -l:libopencv_ml.so.2.4.9 -l:libopencv_objdetect.so.2.4.9 -l:libopencv_ocl.so.2.4.9 -l:libopencv_photo.so.2.4.9 -l:libopencv_stitching.so.2.4.9 -l:libopencv_superres.so.2.4.9 -ltesseract -llept -std=c++11 -o rusalpr
И запускаем так:
./rusalpr path/to/image
Версия opencv 3.1.0
Версия тесеракта и лептоники
$ tesseract -v
tesseract 3.04.01
leptonica-1.73
libgif 5.1.2 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.54 : libtiff 4.0.6 : zlib 1.2.8 : libwebp 0.4.4 : libopenjp2 2.1.0
Получаю следующие ошибки
$ g++ src/*.cpp -l:libopencv_core.so.2.4.9 -l:libopencv_highgui.so.2.4.9 -l:libopencv_video.so.2.4.9 -l:libopencv_calib3d.so.2.4.9 -l:libopencv_contrib.so.2.4.9 -l:libopencv_features2d.so.2.4.9 -l:libopencv_flann.so.2.4.9 -l:libopencv_gpu.so.2.4.9 -l:libopencv_imgproc.so.2.4.9 -l:libopencv_legacy.so.2.4.9 -l:libopencv_ml.so.2.4.9 -l:libopencv_nonfree.so.2.4.9 -l:libopencv_objdetect.so.2.4.9 -l:libopencv_ocl.so.2.4.9 -l:libopencv_photo.so.2.4.9 -l:libopencv_stitching.so.2.4.9 -l:libopencv_superres.so.2.4.9 -ltesseract -llept -std=c++11 -o rusalpr
src/anpr.cpp: In member function ‘bool Anpr::recognizeLetters()’:
src/anpr.cpp:419:45: error: conversion from ‘IplImage* {aka _IplImage*}’ to non-scalar type ‘cv::Mat’ requested
cv::Mat recimage = cvCreateImage(cv::Size(100, 100), 8, 1
^
src/anpr.cpp:430:32: error: conversion from ‘IplImage* {aka _IplImage*}’ to non-scalar type ‘cv::Mat’ requested
cv::Mat gray = cvCreateImage(subImg.size(), 8, 1);
^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
from /usr/local/include/opencv2/core/types_c.h:101,
from /usr/local/include/opencv2/core/core_c.h:48,
from /usr/local/include/opencv/cv.h:63,
from src/anpr.h:13,
from src/anpr.cpp:1:
/usr/local/include/opencv2/core/mat.hpp: In instantiation of ‘class cv::Mat_<unsigned int>’:
/usr/local/include/opencv2/core/mat.inl.hpp:1225:46: required from ‘cv::MatIterator_<_Tp> cv::Mat::begin() [with _Tp = unsigned int]’
src/anpr.cpp:135:37: required from here
/usr/local/include/opencv2/core/mat.hpp:2153:50: error: no type named ‘channel_type’ in ‘class cv::DataType<unsigned int>’
typedef typename DataType<_Tp>::channel_type channel_type;
^
In file included from /usr/local/include/opencv2/core/mat.hpp:3642:0,
from /usr/local/include/opencv2/core.hpp:59,
from /usr/local/include/opencv2/core/types_c.h:101,
from /usr/local/include/opencv2/core/core_c.h:48,
from /usr/local/include/opencv/cv.h:63,
from src/anpr.h:13,
from src/anpr.cpp:1:
/usr/local/include/opencv2/core/mat.inl.hpp:1582:1: error: no type named ‘channel_type’ in ‘class cv::DataType<unsigned int>’
Mat_<_Tp>::Mat_(const Vec<typename DataType<_Tp>::channel_type, n>& v
^
/usr/local/include/opencv2/core/mat.inl.hpp:1591:1: error: no type named ‘channel_type’ in ‘class cv::DataType<unsigned int>’
Mat_<_Tp>::Mat_(const Matx<typename DataType<_Tp>::channel_type, m, n
^
/usr/local/include/opencv2/core/mat.inl.hpp:1600:1: error: no type named ‘channel_type’ in ‘class cv::DataType<unsigned int>’
Mat_<_Tp>::Mat_(const Point_<typename DataType<_Tp>::channel_type>& p
^
/usr/local/include/opencv2/core/mat.inl.hpp:1609:1: error: no type named ‘channel_type’ in ‘class cv::DataType<unsigned int>’
Mat_<_Tp>::Mat_(const Point3_<typename DataType<_Tp>::channel_type>&
^
/usr/local/include/opencv2/core/mat.inl.hpp:1938:1: error: no type named ‘channel_type’ in ‘class cv::DataType<unsigned int>’
Mat_<_Tp>::operator Vec<typename DataType<_Tp>::channel_type, n>() co
^
/usr/local/include/opencv2/core/mat.inl.hpp:1951:1: error: no type named ‘channel_type’ in ‘class cv::DataType<unsigned int>’
Mat_<_Tp>::operator Matx<typename DataType<_Tp>::channel_type, m, n>(
^
Предполагаю, что проблема с версией opencv
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.