gheinrich / bibnumber Goto Github PK
View Code? Open in Web Editor NEWRecognize bib numbers from racing photos
Recognize bib numbers from racing photos
I was able to build bibnumber on the following setup
With a bit of coaxing I was able to get it to compile. However when running the program
bibnumber <path_to_images>
The processing stops as the first image. I was able to trace it to textdetection.cpp
findLegallyConnectedComponents
, right on the last statement return components
.
For some reason it takes forever to exit this method.
This happens on the Debug build.
When compiled for Release, the program progresses further, generating bib-components, bib-rotated and bib-tess-input images, however, it crashes with a heap corruption error.
i try build it on ubuntu but it is not ok.
../batch.cpp:12:10: fatal error: opencv2/objdetect/objdetect.hpp: No such file or directory
I cant seem to replicate the output for the README sample. When i process it, it returns a blank list.
When using the svm-prom model provided, it only captures [46, 54].
Is it necessary to train a svm model from scratch? Am i doing anything wrong?
Im running the example as follows:
../bibnumber/Debug/bibnumber -model ../svm-prom1.xml 0017-IMG_0035.JPG
When having a load of pictures from a local event, it would be awesome to point the code to a certain directory containing all the pictures, detect bib-numbers on each of the pictures (one picture might contain several), and then copy the pictures into folders representing each bib.
Example:
Folder \eventX contains:
pic1.jpg - with competitor 145
pic2.jpg - with competitor 153
pic3.jpg - with competitor 167 AND 153
pic4.jpg - none recognizable bibs.
Run the program - it will copy into folders for each numbers;
\eventX\145\ will contain pic1.jpg
\eventX\153\ will contain pic2.jpg AND pic3.jpg
\eventX\167\ will contain pic3.jpg
\eventX\NOT_FOUND\ will contain pic4.jpg
(note - pictures are copied into the folders - and pictures 3 ends up in two folders as it has two different bibs).
Hi @gheinrich,
first of all, many thanks for this project :)!
Can you send me the commands you used in order to generate the file "svm-prom1.xml" and specify the set of pictures you used to do it? Can you help me @gheinrich ?
I tried several times to create it with the pictures you provide in the project, but I get this error: OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in Mat, file /home/nurgle/Scrivania/opencv-2.4.9/modules/core/src/matrix.cpp, line 323
terminate called after throwing an instance of 'cv::Exception'
what(): /home/nurgle/Scrivania/opencv-2.4.9/modules/core/src/matrix.cpp:323: error: (-215) 0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows in function Mat.
I use this command: "../../bibnumber/Debug/bibnumber -train . ." in a folder with the "prom*.jpg" pictures, since I believed you used the "prom*.jpg" pictures to create the aforementioned "*.xml".
Many thanks in advance for your attention.
Best regards,
@Nurgle87
I'm just found your repo and it's amazing, I wanna to tryout but can't figure out how, I'd downloaded all dependencies but do you have a step by step windows install procedure?.
I'm using VS2017, Windows 7 32bit
During make -C bibnumber/Debug
I got the following errors.
../textdetection.cpp:230:3: error: 'rectangle' is not a member of 'cv'
cv::rectangle(tmp_mat, it->first, it->second, c);
^~
../textdetection.cpp:231:3: error: 'putText' is not a member of 'cv'
cv::putText(tmp_mat, txt, it->first, cv::FONT_HERSHEY_SIMPLEX, 0.3, c);
^~
I am using opencv-dev@testing
despite testing state it should theoretically not having namespace errors like this.
Should I specify the cv
namespace somewhere in compile time?
Have you or anyone you are aware of used this on a web server? My use case would be to install it on a server and give PHP the ability to execute against a directory. I could then script the pulling of CSV data into a database associating bibs with other athlete info.
Is this even possible? Any pointers in the right direction would be appreciated.
Thanks!
hi
first, thanks for this project :)
i just builded it on ubuntu 15.10 but when i try a simple
./bibnumber /my/path/*
i have
Processing 2 samples/0009-IMG_0027.JPG
Processing 3 samples/0017-IMG_0035.JPG
Processing 4 samples/0040-IMG_0061.JPG
Processing 5 samples/0056-IMG_0079.JPG
Processing 6 samples/0057-IMG_0080.JPG
Processing 7 samples/0058-IMG_0081.JPG
Processing 8 samples/0059-IMG_0082.JPG
Processing 9 samples/0060-IMG_0083.JPG
Processing 10 samples/0061-IMG_0084.JPG
Processing 11 samples/0062-IMG_0087.JPG
Processing 12 samples/0063-IMG_0088.JPG
Processing 13 samples/0064-IMG_0089.JPG
Processing 14 samples/0065-IMG_0090.JPG
Processing 15 samples/0236-IMG_0273.JPG
Processing 16 samples/0520-IMG_0563.JPG
Processing 17 samples/821-IMG_1297.JPG
ERROR: Could not load classifier cascade
could you add some exemple to get the results you have in the demo ?
2/ with this batch is it possible to get the original image name of the detected bib ?
thanks !
...the loose files in the bibnumber executable directory, I just want to create the .csv files as output, is it possible?
Thank you!
Hi, I installed all libraries using homebrew:
1 Michal-MacBook-Pro:bibnumber kolisko$ brew list
activemq boost boost-python elinks gettext icu4c kubernetes-cli libmpc libtiff lynx ncurses opencv pkg-config readline tailor wget
ant boost-bcp carthage erlang@19 glib ilmbase leptonica libpng libtool lzlib nmap openexr python3 s-lang tesseract wxmac
autoconf boost-build check freealut gmp isl libconfig librdkafka libtoxcore midnight-commander node openssl qrencode sqlite toxic xz
automake boost-compute coreutils gcc gnu-sed jpeg libevent libsodium libvpx mpfr numpy opus quilt swig2 vim yasm
bash boost-mpi eigen gdbm grep kafkacat libffi libssh2 links mysql open-mpi pcre rabbitmq swig@2 watch
0 Michal-MacBook-Pro:bibnumber kolisko$
and build failed:
0 Michal-MacBook-Pro:bibnumber kolisko$ make -C bibnumber/Debug
Building file: ../batch.cpp
Invoking: Cross G++ Compiler
g++ -O0 -g3 -pedantic -Wall -Wextra -c -fmessage-length=0 -MMD -MP -MF"batch.d" -MT"batch.d" -o "batch.o" "../batch.cpp"
../batch.cpp:7:10: fatal error: 'boost/algorithm/string/predicate.hpp' file not found
#include <boost/algorithm/string/predicate.hpp>
^
1 error generated.
make: *** [batch.o] Error 1
any idea?
I get the following error message:
tesseract/baseapi.h: No such file or directory
#include <tesseract/baseapi.h>
I could not find this file in any of the downloaded directories.
Hi @gheinrich, first of all, great project!
I'd like to know if this project can be compiled statically, do you have some tip to create portable binaries?
Thanks!
Dears,
is possible to ask you for a help with the installation? Tried everything, but can not run the app.
Thank you for your help.
Daniel
Hii , Nice work , which paper did you consult for implementing the algorithm for text detection ?
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.