Openalpr: Support for Brazilian number plates

Created on 28 May 2015  ·  173Comments  ·  Source: openalpr/openalpr

I was trying to use [-c eu] but the attached image for example, returns for me the result:
- FGYG2BB confidence: 89.2001

original-11382016007

enhancement

Most helpful comment

I am interested as well.

All 173 comments

You need to train detector + OCR

Bruno entra em contato comigo pelo e-mail [email protected]. estou
querendo desenvolver uma app com lpr.
Abraço
Em 28/05/2015 17:34, "Bruno Borges" [email protected] escreveu:

I was trying to use [-c eu] but the attached image for example, returns
for me the result:

  • FGYG2BB confidence: 89.2001

[image: original-11382016007]
https://cloud.githubusercontent.com/assets/215518/7870451/c971ab96-055f-11e5-95e9-60283eab9fc4.jpg


Reply to this email directly or view it on GitHub
https://github.com/openalpr/openalpr/issues/124.

Brazil is different enough from EU plates that accuracy could be improved by custom detection/OCR (as Vladimir mentioned)

Without going that route, however, there's a few things that you can do.

  1. Add the Brazilian plate format (@@@####) to the patterns. If it knows the pattern, it will be more likely to pick FGY6288, rather than FGYG2BB from the list of top N possibilities
  2. Take the picture from a lower angle. Close up shots at sharp angles are difficult to detect. If that's not possible, consider using this feature to adjust the image: https://github.com/openalpr/openalpr/wiki/Camera-Calibration

Thanks

Any progress of using openalpr to recognize brazilian license plates?

pls let me know if you guys have any progress on this too. thx

Hi Jean. In June 2nd 2015, @guiruiz asked if there was any PT-BR support in the system. Nobody answered since then, so I've just added a note informing that, if there's support for brazillian plates, I am also interested. Thanks

jeorfevre, this is not commercial place for advertising, plz don't use this for your promotion, or your company.... here is for open source project where people from ww shere data, ideas etc...

If someone could direct me, I can add the support.

I'm working on PT-BR support, but I'm getting some warnings from tesseract-ocr using train.py.
All warnings seems to be related to missing files that tesseract should have generated.
Even with warnings lbr.traineddata has been generated, but ALPR is not detecting any plate using this file. Any clues?

$ ./train.py
Two-Letter Country Code to Train: br
Processing: ./br/input/lbr.brazil.exp0.box
Executing: /usr/bin/tesseract -l eng ./br/input/lbr.brazil.exp0.tif lbr.brazil.exp0 nobatch box.train.stderr
Tesseract Open Source OCR Engine v3.04.01 with Leptonica
Page 1
APPLY_BOXES:
   Boxes read from boxfile:     108
   Found 108 good blobs.
Generated training data for 34 words
mv: cannot stat './lbr.brazil.exp0.txt': No such file or directory
Extracting unicharset from ./br/input/lbr.brazil.exp0.box
Wrote unicharset file ./unicharset.
Executing: /usr/bin/mftraining -F ./tmp/font_properties -U unicharset -O ./tmp/lbr.unicharset ./tmp/*.tr
Warning: No shape table file present: shapetable
Reading ./tmp/lbr.brazil.exp0.tr ...
Flat shape table summary: Number of shapes = 36 max unichars = 1 number with multiple unichars = 0
Warning: no protos/configs for Joined in CreateIntTemplates()
Warning: no protos/configs for |Broken|0|1 in CreateIntTemplates()
Done!
cp: cannot stat './br/input/unicharambigs': No such file or directory
Reading ./tmp/lbr.brazil.exp0.tr ...
Clustering ...

Writing normproto ...
Combining tessdata files
TessdataManager combined tesseract data files.
Offset for type  0 (lbr.config                ) is -1
Offset for type  1 (lbr.unicharset            ) is 140
Offset for type  2 (lbr.unicharambigs         ) is -1
Offset for type  3 (lbr.inttemp               ) is 2129
Offset for type  4 (lbr.pffmtable             ) is 314031
Offset for type  5 (lbr.normproto             ) is 314354
Offset for type  6 (lbr.punc-dawg             ) is -1
Offset for type  7 (lbr.word-dawg             ) is -1
Offset for type  8 (lbr.number-dawg           ) is -1
Offset for type  9 (lbr.freq-dawg             ) is -1
Offset for type 10 (lbr.fixed-length-dawgs    ) is -1
Offset for type 11 (lbr.cube-unicharset       ) is -1
Offset for type 12 (lbr.cube-word-dawg        ) is -1
Offset for type 13 (lbr.shapetable            ) is 318856
Offset for type 14 (lbr.bigram-dawg           ) is -1
Offset for type 15 (lbr.unambig-dawg          ) is -1
Offset for type 16 (lbr.params-model          ) is -1
Output lbr.traineddata created successfully.
mv: cannot stat './lbr.unicharambigs': No such file or directory

personal, someone could add support for Brazilian plates?
If so, I would like to share?
If not, someone could help me develop support for Brazilian plates? I am beginner in the openalpr and precise design guidelines on how to proceed.
Another detail is that I will need the support boards Brazil and Paraguay, however signs of Paraguay they are easily recognized by the 'c -us'.
Sorry for bad English...

Hello guys,

I am very interested in working in the support for brazillian plates.
Is someone still working on it ? If not, I will start working on it very soon.

I've tried to do it a while ago, but I got some issues training tesseract (
https://github.com/tesseract-ocr/tesseract/issues/139#issuecomment-222112122 ).
Nevertheless, I'm still interested in adding support for Brazilian plates.
If there is anything that I can do to help, let me know.

It's also good to point out that plates are going to change in Brazil
"soon". (
http://g1.globo.com/carros/noticia/2015/04/denatran-adia-obrigatoriedade-das-novas-placas-veiculares-do-mercosul.html
)

JRG

On Wed, Jun 1, 2016 at 12:07 PM GregoryFeijo [email protected]
wrote:

Hello guys,

I am very interested in working in the support for brazillian plates.
Is someone still working on it ? If not, I will start working on it very
soon.


You are receiving this because you commented.

Reply to this email directly, view it on GitHub
https://github.com/openalpr/openalpr/issues/124#issuecomment-223022864,
or mute the thread
https://github.com/notifications/unsubscribe/AAIp7B_nkIZeDwaWKrOh_CE1aivaT4HXks5qHaBEgaJpZM4EuE_H
.

I've tried to do it a while ago, but I got some issues training tesseract (
tesseract-ocr/tesseract#139 (comment) ).
Nevertheless, I'm still interested in adding support for Brazilian plates.
If there is anything that I can do to help, let me know.

It's also good to point out that plates are going to change in Brazil
"soon". (
http://g1.globo.com/carros/noticia/2015/04/denatran-adia-obrigatoriedade-das-novas-placas-veiculares-do-mercosul.html
)

JRG

Thank you for your reply jrocha!
I will start trying to train the tesseract ocr.

Since the new plates will be mandatory only for the new cars, we could do something similar to the _au_ and _auwide_ formats. So, for now, we care for training the existing plates and leave the new one to be treated in the future.

I am interested as well.

Hey guys, anyone still working in adding support for Brazilian plates? If so I'd like to joint efforts.

I´m ready to sponsor anyone that actually take this forward.

On Mon, Aug 1, 2016 at 9:16 AM, paulovsm [email protected] wrote:

Hey guys, anyone still working in adding support for Brazilian plates? If
so I'd like to joint efforts.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/openalpr/openalpr/issues/124#issuecomment-236564640,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAzRaoaRK56UfQO6VWTKDHBlPwC_Q6Ykks5qbeOHgaJpZM4EuE_H
.

In order to train for Brazil we need images. I uploaded everything that has been contributed so far:
https://github.com/openalpr/plates_br

it's not much. We need many many more images.

Nice @matthill. I will contribute with more images.

I will have one of my guys working on adding br support. I let you know when I have some progress.

@matthill images must follow specific requirements such as size/resolution, grayscale/colored, licence plate angle/rotation, etc.?

Pretty much any image with a license plate is worth including. The more varied the angles/lighting the better. For example, Adding 10000 images all from the same camera and angle is not as good as 2000 images from many different cameras. The rotation and angles should not be too severe (e.g., no more than 30 degrees or so).

No need to upload super high resolution images. It doesn't hurt accuracy (since they're all downsampled anyway) but it does add a lot of data without much benefit. Anything more than 720p or so is not necessary.

@matthill I started to upload some images and I also created a pull request.

@jovargas
1) Faça um fork do repo
2) Adicione as suas fotos no seu repo, faça o "commit" e "push"
3) Na sua página do repo, faça um "pull request"

@jovargas qualquer coisa, se tiver dificuldades você pode fazer upload no dropbox ou googledrive e passar o link que eu ou alguém aqui pode subir.

It's possible to get only license plate's coordinates?

@rafaelrpbelo, do you mean the "city - state" info that is on the plate? If yes, I wouldn't rely on getting them...those info are too small and frequently very hard to read, so I don't think you would get something reliable to be able to use.

@renatosc no, I mean about the license plate's area. Because I need to identify the license plate object and to mask it. I don't know whether is better I use this lib or opencv. :thought_balloon:

@rafaelrpbelo Yes, you can get the points of the detected license plate.
In C#:
var alpr = new AlprNet(region, config_file, runtime_data_dir); var results = alpr.recognize(".filepath/"); var points = new List<Point>(); if (results.plates.Count() > 0) { foreach (var result in results.plates) { points = result.plate_points; // Where points have now a list of the plate coordinates } }

And by the way, OpenAlpr uses OpenCV ;)
https://www.quora.com/What-are-the-relationships-between-OpenAlpr-OpenCv-Tesseract

Oops, sorry for the code mess up there :/

@jovargas Thank you so much! 👍

@matthill, we created some pull requests with more images. When you have time, please merge with your repo. (If you want, add me access to it and I can manage it to you).

@all, I would like us to suggest a name pattern for the images. My suggestion is to be "ABC-1234.jpg" and when we have more than 1 image to the same plate, we just use "ABC-1234 (2).jpg". I think that may prove useful for us in the future to find specific images in our training database.

Got it @jovargas. Thanks for contributing. I will add it here to the repo.

@jovargas , please could you share you trained files for plates in Brazil?

I also would like to contribute to improve plate recognition for Brazil.

Thanks,

I'm having a trouble, because license plate number its recognized as i, i had changed patter and set n top to 300 and does not run. Thank You.

Hi guys, I'm interested in Brazilian plates as well. I got a lot of plates
image examples. When I get at home I will share my images with you.

Em Dom, 11 de set de 2016 13:44, dolarrsb [email protected]
escreveu:

I'm having a trouble, because license plate number its recognized as i, i
had changed patter and set n top to 300 and does not run. Thank You.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/openalpr/openalpr/issues/124#issuecomment-246190016,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABWa-_o-sAkWTClFgRjWwy9kfxWD_0Ifks5qpC_sgaJpZM4EuE_H
.

How is the accuracy so far with your data? You cropped all the plates? Is it possible to upload your crops? It seems like there may be enough plates (https://github.com/openalpr/plates_br) now to make a decent detector. We have about 1000 images. Given that the Brazilian plates are so similar, that's probably good enough. 3000 would be better, 5000 would be ideal.

This looks good -- I think good enough to include in the software. If you agree to the project's contributor license agreement (https://github.com/openalpr/openalpr/blob/master/cla.txt) let me know, and I'll merge your trained data into the main repo.

Is there a br.conf file that you've had good success with? I duplicated the au.conf and it worked fairly well. Also, do you have the ocr tif/box files you used for training? That way I can regenerate the data in the future as Tesseract versions change.

great job @jovargas. Quick question: Does your training include motorcycle plates?

@matthill thanks for the support in adding br support. I just opened a pull request with more ~100 plates that I had here.

@renatosc my training was made only with one-line plates. Since motorcycles plates are two-line and physically different, we need to make a new learning process for the detector using motorcycle cropped samples.

So, our next goal is to gather a large number of images containing moto-plates. ;)

Hi @matthill
Where can I find a documentation about the tagplates utility use? I don't know what to do with all those generated *.txt

:(

Hello @jovargas,

I am using yout trained data, but in some cases OpenALPR is returning plates like "@@@-###@" (ex. ABC-123B). As we know this is not a possible pattern for any plates in Brazil, we only have plates like "@@@-####".

In this case, should we create a pattern file for BR plates in openalpr\runtime_data\postprocess?

@matthill, is that right?

Hi @rafaboss.
You have two possible ways to solve that:
1 - Using the the OpenAlpr postprocess algorithm.
2 - Using your own postprocess algorithm.

In the option 1, yes indeed, you must create a br.pattern file inside the postprocess folder, containing the line "br @@@####" and tell the OpenAlpr to make the postprocess (must_match = 1 in the openalpr.conf file).

In the option 2, you can take the top N plates (where N is defined by you) given by OpenAlpr and make a postprocess method where the substitutions are made by you based on a reality logic, then check if they match with our pattern, and finally do some statistical coding to define the best combination.

I decided to work with the option 2 because the OpenAlpr postprocess somehow throws out too many plates combinations that are interesting to analyze (even if they don't match you can use the chars information to generate a better final combination).

That's what I got here. Hope it helps.

Abraço.

@jovargas

The tagplates utility was a first step in improving the plate training process. Originally the process was to crop the plate and only keep the crop image and throw away the larger image. This was problematic, since often times people would do a lot of manual work, and find that their aspect ratio needed tuning. So, the new process is to tag the plate in the original image and save metadata that can be used to produce the crops.

In the future I'd like to enhance the training utilities to be 1. more user friendly, and 2. Save a number of fields of data in each metadata file. The metadata files would be YAML format (since that is easy to parse via script and via grep/awk), and would contain information such as plate location, plate characters, region/locality, etc. Then a single training program could drive detection training and OCR. I would also like to add a simple Windows GUI to produce this data -- making it accessible for a majority of folks who don't want to mess with all of the scripts.

Here's how I typically convert the text metadata to plate crops -- just uses imagemagick and xargs/awk.
cat *.txt | awk '{print "convert -crop " $4 "x" $5 "+" $2 "+" $3 " " $1 " cropped_" $1 }' | bash

-Matt

@rafaboss

I added the pattern in this commit: https://github.com/openalpr/openalpr/commit/583f69acac25341fbc16736f504b248acbda2a0f

Thanks for the recommendation.

Thanks for your help @matthill !!

Hey guys, I made a tool in C# that helps to create a detection mask for OpenALPR.
The code is here: https://github.com/jovargas/OpenALPR_DetectionMaskCreator

In this version you can only create the mask. It will be possible to edit an existing mask in a future version.

Have fun!!

@jovargas Awesome! That detector seems much better, indeed. The false positives are way down and it picks up the full plate more consistently. Do you have the original images w/ metadata or crops (or can you point me to them)? I'd like to include those in the project as well, since future upgrades to improve the detection code may require retraining with the original data.

I'd also like to pull a subset of new images (that aren't part of the training set) to make a labeled dataset for benchmarking. All I'd need is 100 or so images. These shouldn't be part of the images that were used for training, since that's skews the benchmark towards higher accuracy.

It's nice to be able to benchmark accuracy improvements over a large sample (so I can try making config tweaks to br.xml and verifying that they are improving things.

Thanks, @jovargas. I pushed your latest detector the main repo. Do you have the original images as well? When I update the training utility, I'm thinking about doing something that hard-mines the negatives from the input images, so using the originals would help later.

If you have 100 or so images, I'll get them cropped and labeled properly for the benchmark (it uses the output from the tagplates utility). I'll plan to run it a few times, trying some different config options to get the accuracy up.

@jovargas, what do you think about putting all training stuff into a fork of https://github.com/openalpr/train-ocr and https://github.com/openalpr/train-detector?

That way we can improve the training process incrementally.

I suggest you to use Tortoise Git. Try googling for it...

On Sun, Oct 2, 2016 at 11:02 AM, jovargas [email protected] wrote:

@flaviostutz https://github.com/flaviostutz I've created the forks but
now I cannot upload more than 100 files using the Drop area. How to solve
that? I'm using Chrome in Windows 10


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openalpr/openalpr/issues/124#issuecomment-250972731,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHbeXNzMYq6w8lVBxLZW9y8ftLpcA7JYks5qv7lwgaJpZM4EuE_H
.

Finally done, @flaviostutz. I made it using the GitHub Desktop App, but thanks for the recommendation.
The pull request have been made. Probably, Matt will merge it tomorrow.

Merged :)

Great! Is it working according to the Python scripts on the root of the project?

Well, that is up to you. You will need to modify the prep.py in order to train the detector with the brazilian plates aspect ratio.

@jovargas OpenALPR works with Brazilian plates now?

It should detect them, yes, @VSecur

A new version will be released?

I don't think so, because the openalpr core didn't change that much. The new trained files are inside the main repo and all you have to do is download and "call them" in your code.

Right, thanks. This can be used in Android?

@VSecur You can find more info about OpenALPR and Android here: https://github.com/openalpr/openalpr-android

Hi @cristian-henrique. Thank you for the feedback.
Although the detector for brazilian plates it's being improved, there are many ways to get better results by changing some parameters values inside the config files. You should take on account that every scenario is different (camera angle and quality, light intensity, etc) and remember that plates that are too big or too small are more difficult to be detected correctly.

As I can see, you didn't take the time to read all the comments of this issue. I suggest you to do that. You would find some tips to make progress (like this: https://github.com/openalpr/openalpr/issues/124#issuecomment-249182710)

Analyzing the results you posted here: Despite 5 is a very small number of samples to get a good performance indicator, you must agree with me that (after a postprocess work) having 100% of the plates detected and 80% placed between the first five given by OpenALPR is not that bad so far.

Now, let's see what I got after running those images in "my" OpenALPR:
With must_match = 0:
mustmatch0

With must_match = 1:
mustmatch1

So, you guys need to sweat a little bit more in order to make things happen.
I must confess I'm feeling kind of disappointed because I'm the only one here who shared a trained detector and showed real progress. I don't want any credits. All we need is help to get better results. A lot of guys said were able to help with the process but all we have is discreete comments. Are you all training your own detector and OCR? Are you all making changes in config files and testing? If you are, plase share with everybody to test and improve. We are all chasing the same goal, don't forget that.

Sorry If I hurt some feelings (lol) but that's what I think.

I updated the benchmarking utility with metadata for the images that @jovargas provided. You can run the benchmark with this command:
openalpr-utils-benchmark br endtoend ./br/ ./

The detector is working quite well. >99% of the plates are detected. The false positives are a little high (0.66% percent chance of a false positive per image) but not bad at all. That's awesome, since training a detector is the hardest part. However, the accuracy is low after detection. I think that's a combination of config settings and OCR. I'll take a look at improving the config settings soon.

Here's the high-level summary:

Accuracy scores (higher is better)
Percent of plates DETECTED: 99.1228
Percent of correct TOP10:   50.8772
Percent of correct MATCHES: 33.3333

False Positives Score (lower is better)
False DETECTIONS per image: 0.657895
False RESULTS per image:    0.298246

Swapping out the Brazilian OCR for the US OCR, I get

Percent of correct TOP10:   72.807
Percent of correct MATCHES: 63.1579

A specially trained Brazilian OCR dataset should be higher than the US dataset... So it could still be an issue of incorrect config (perhaps warping the character sizes) or we may need to look at retraining/improving the OCR.

For comparison purposes, here is the benchmark using the full US dataset (detector and OCR). You can see the detector is much worse than the one @jovargas provided and the aspect ratio is screwing up accuracy across the board. So, if we could get the OCR up to the same level, this will be quite accurate, indeed.

Accuracy scores (higher is better)
Percent of plates DETECTED: 78.0702
Percent of correct TOP10:   5.26316
Percent of correct MATCHES: 0.877193

False Positives Score (lower is better)
False DETECTIONS per image: 0.122807
False RESULTS per image:    0.236842

As of today, using the Brazilian detector/config and the US OCR seems to produce the best results.

Great job @matthill !!
I'm working hard on the OCR training to improve it.
Btw, as the existing fonts of brazilian plates are very similar to the EU ones, if you use de BR detector and the EU OCR you should get better results.
I'll let you know if something better comes out here.

@cristian-henrique It's ok bro, I didn't mean to be rude. Feedbacks like yours are very important to improve results.
I'm sorry for using your post as a trigger to express my feelings. Working "alone" is kind of frustrating, just wanted to let that out.

If you're using Rpi you can search for some thread like "Raspberry Pi" in the openalpr google group. There is a lot of people working on that and they could help you.
And one more time, as an advice, you gotta play more with configs parameters so you can adjust the solution to your conditions.

Abraço.

I updated the Brazil OCR (manually tagged characters from 100 or so images) and got the accuracy up a bit:
https://github.com/openalpr/train-ocr/tree/master/br

Accuracy scores (higher is better)
Percent of plates DETECTED: 99.1228
Percent of correct TOP10:   63.1579
Percent of correct MATCHES: 62.2807

False Positives Score (lower is better)
False DETECTIONS per image: 0.561404
False RESULTS per image:    0.0263158

It's possible to draw a rectangle around the plate? Like in this image:

What can be done to help this enhancement project? I'm available

I just came across this project and I'm starting a project that needs brazilian plate reconigtion.
I'm trying to run train.py from train-ocr but I'm getting errors. Does that mean I missed a step or something?
I followed closely with the train instructions. It's worth noting that the tesseract I'm running is from git - tag v3.04.01.

Two-Letter Country Code to Train: br
Processing: ./br/input/lbr.brazil.exp0.box
Executing: ../tesseract/api/tesseract -l eng ./br/input/lbr.brazil.exp0.tif lbr.brazil.exp0 nobatch box.train.stderr
Error opening data file ../tesseract/tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
Could not initialize tesseract.
.
.

ok now I got the missing file from the tessdata rep.

Hey guys. I'm working in a project with tons of vehicle images, but not more than few thousands of labeled images. The catch is that we might not disclose those images, but we can run a training in our environment to upload the resulting files back later on. Does it help somehow?

I don't understand why this image is not being recognized.
hqw-5678

segmentation clean filters_screenshot_25 12 2016
alpr -c br img/HQW-5678.png
Config file location provided via default location
No prewarp configuration specified
prewarp skipped due to missing prewarp config
No prewarp configuration specified
Analyzing: br
No prewarp configuration specified
Starting CharacterAnalysis identification
filterContourHoles: contour index: 15
Threshold 0 had 7 good indices.
filterContourHoles: contour index: 22
Threshold 1 had 7 good indices.
filterContourHoles: contour index: 24
Threshold 2 had 7 good indices.
CharacterAnalysis::findOuterBoxMask
Winning image index (findOuterBoxMask) is: -1
Best fit score: 7 Index: 0
Gtk-Message: Failed to load module "topmenu-gtk-module"
init done
opengl support available
CharacterAnalysis, plate inverted: MEAN: [255, 0, 0, 0] : 0
Plate inverted: 0
The winning score is: 6
Starting CharacterSegmenter
Segmenter: inverted: 0
LINE 0: avgCharHeight: 32 - height_to_width_ratio: 1.4
LINE 0: avgCharWidth: 22.8571
All Boxes size 7
All Boxes size 7
All Boxes size 7
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
Adding label All Histograms
Adding label Best Boxes
Not Merging 2 boxes -- 0 and 1 -- has_good_gap: 1 bigWidth (52) > max_width (27)
Not Merging 2 boxes -- 1 and 2 -- has_good_gap: 1 bigWidth (53) > max_width (27)
Not Merging 2 boxes -- 2 and 3 -- has_good_gap: 1 bigWidth (59) > max_width (27)
Not Merging 2 boxes -- 3 and 4 -- has_good_gap: 1 bigWidth (42) > max_width (27)
Not Merging 2 boxes -- 4 and 5 -- has_good_gap: 1 bigWidth (43) > max_width (27)
Not Merging 2 boxes -- 5 and 6 -- has_good_gap: 1 bigWidth (43) > max_width (27)
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
charpos0 line0: threshold 0: symbol h, conf: 90,230057 font: brazil (index 0) size 11px - h conf: 90,230057

- n conf: 75,950958

charpos1 line0: threshold 0: symbol q, conf: 83,969643 font: brazil (index 0) size 11px - q conf: 83,969643
- 0 conf: 83,509491
- o conf: 83,441162

- g conf: 73,281784

charpos2 line0: threshold 0: symbol n, conf: 68,137177 font: brazil (index 0) size 11px - n conf: 68,137177

charpos3 line0: threshold 0: symbol 5, conf: 87,694366 font: brazil (index 0) size 11px - 5 conf: 87,694366

- s conf: 85,471909


charpos5 line0: threshold 0: symbol 7, conf: 83,350792 font: brazil (index 0) size 11px - 7 conf: 83,350792

charpos6 line0: threshold 0: symbol 6, conf: 82,180481 font: brazil (index 0) size 11px - 6 conf: 82,180481

- b conf: 77,342499

charpos0 line0: threshold 1: symbol h, conf: 90,041153 font: brazil (index 0) size 11px - h conf: 90,041153

- n conf: 75,839760

charpos1 line0: threshold 1: symbol q, conf: 84,522629 font: brazil (index 0) size 11px - q conf: 84,522629
- 0 conf: 83,591461
- o conf: 82,940483

- g conf: 74,142075

charpos2 line0: threshold 1: symbol n, conf: 68,327461 font: brazil (index 0) size 11px - n conf: 68,327461

- w conf: 64,394089

charpos3 line0: threshold 1: symbol 5, conf: 87,401260 font: brazil (index 0) size 11px - 5 conf: 87,401260


charpos5 line0: threshold 1: symbol 7, conf: 81,264473 font: brazil (index 0) size 11px - 7 conf: 81,264473

charpos6 line0: threshold 1: symbol 8, conf: 83,891975 font: brazil (index 0) size 11px - 8 conf: 83,891975

- b conf: 77,825974


charpos1 line0: threshold 2: symbol q, conf: 86,028305 font: brazil (index 0) size 11px - q conf: 86,028305
- 0 conf: 85,371811

- o conf: 84,276451


charpos3 line0: threshold 2: symbol 5, conf: 88,738281 font: brazil (index 0) size 11px - 5 conf: 88,738281

- s conf: 83,608551


charpos5 line0: threshold 2: symbol 7, conf: 81,050034 font: brazil (index 0) size 11px - 7 conf: 81,050034

charpos6 line0: threshold 2: symbol 8, conf: 84,212021 font: brazil (index 0) size 11px - 8 conf: 84,212021

- b conf: 76,917030

PostProcess Line 0 Letter: 0 h -- score: 180.542 -- occurrences: 4
PostProcess Line 0 Letter: 0 n -- score: 61.7907 -- occurrences: 2
PostProcess Line 0 Letter: 0 ~ -- score: 8.20928 -- occurrences: 2
PostProcess Line 0 Letter: 1 q -- score: 239.041 -- occurrences: 6
PostProcess Line 0 Letter: 1 0 -- score: 117.473 -- occurrences: 3
PostProcess Line 0 Letter: 1 o -- score: 115.658 -- occurrences: 3
PostProcess Line 0 Letter: 1 g -- score: 57.4239 -- occurrences: 2
PostProcess Line 0 Letter: 1 ~ -- score: 12.5761 -- occurrences: 2
PostProcess Line 0 Letter: 2 n -- score: 92.9293 -- occurrences: 4
PostProcess Line 0 Letter: 2 ~ -- score: 62.6766 -- occurrences: 5
PostProcess Line 0 Letter: 2 w -- score: 19.3941 -- occurrences: 1
PostProcess Line 0 Letter: 3 5 -- score: 257.668 -- occurrences: 6
PostProcess Line 0 Letter: 3 s -- score: 79.0805 -- occurrences: 2
PostProcess Line 0 Letter: 5 7 -- score: 221.331 -- occurrences: 6
PostProcess Line 0 Letter: 6 8 -- score: 156.208 -- occurrences: 4
PostProcess Line 0 Letter: 6 b -- score: 97.0855 -- occurrences: 3
PostProcess Line 0 Letter: 6 6 -- score: 74.361 -- occurrences: 2
PostProcess Line 0 Letter: 6 ~ -- score: 7.9145 -- occurrences: 3
0 total permutations
PostProcess Analysis Complete: -- MATCH: 0
Starting CharacterAnalysis identification
filterContourHoles: contour index: 11
Threshold 0 had 7 good indices.
filterContourHoles: contour index: 18
Threshold 1 had 7 good indices.
filterContourHoles: contour index: 20
Threshold 2 had 7 good indices.
CharacterAnalysis::findOuterBoxMask
Winning image index (findOuterBoxMask) is: -1
Best fit score: 7 Index: 0
CharacterAnalysis, plate inverted: MEAN: [255, 0, 0, 0] : 0
Plate inverted: 0
The winning score is: 6
Starting CharacterSegmenter
Segmenter: inverted: 0
LINE 0: avgCharHeight: 32 - height_to_width_ratio: 1.4
LINE 0: avgCharWidth: 22.8571
All Boxes size 8
All Boxes size 8
All Boxes size 8
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
Adding label All Histograms
Adding label Best Boxes
Edge Filter: Entire left region is erased
Edge Filter: left=2 right=200
Adding label Edge Filter #1
Not Merging 2 boxes -- 0 and 1 -- has_good_gap: 1 bigWidth (33) > max_width (27)
Not Merging 2 boxes -- 1 and 2 -- has_good_gap: 1 bigWidth (51) > max_width (27)
Not Merging 2 boxes -- 2 and 3 -- has_good_gap: 1 bigWidth (53) > max_width (27)
Not Merging 2 boxes -- 3 and 4 -- has_good_gap: 0 bigWidth (59) > max_width (27)
Not Merging 2 boxes -- 4 and 5 -- has_good_gap: 1 bigWidth (42) > max_width (27)
Not Merging 2 boxes -- 5 and 6 -- has_good_gap: 1 bigWidth (42) > max_width (27)
Not Merging 2 boxes -- 6 and 7 -- has_good_gap: 1 bigWidth (42) > max_width (27)
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Character CLEAN: (area) removing box 0 in threshold 0 -- Area 0 < 7
Character CLEAN: (area) removing box 0 in threshold 1 -- Area 0 < 7

Character CLEAN: (area) removing box 0 in threshold 2 -- Area 0 < 7

charpos1 line0: threshold 0: symbol h, conf: 88,042168 font: brazil (index 0) size 11px - h conf: 88,042168

- n conf: 75,751778


charpos3 line0: threshold 0: symbol n, conf: 67,604034 font: brazil (index 0) size 11px - n conf: 67,604034
- h conf: 63,648952

- r conf: 54,361286

charpos4 line0: threshold 0: symbol 5, conf: 87,397568 font: brazil (index 0) size 11px - 5 conf: 87,397568


charpos6 line0: threshold 0: symbol 7, conf: 83,091209 font: brazil (index 0) size 11px - 7 conf: 83,091209

---------------------------------------------

charpos1 line0: threshold 1: symbol h, conf: 90,448448 font: brazil (index 0) size 11px - h conf: 90,448448
- n conf: 78,489868

- m conf: 77,708023


charpos3 line0: threshold 1: symbol n, conf: 64,918388 font: brazil (index 0) size 11px - n conf: 64,918388
- w conf: 63,184212

- r conf: 50,428001

charpos4 line0: threshold 1: symbol 5, conf: 90,784737 font: brazil (index 0) size 11px - 5 conf: 90,784737

- s conf: 84,461891


charpos6 line0: threshold 1: symbol 7, conf: 82,908783 font: brazil (index 0) size 11px - 7 conf: 82,908783

---------------------------------------------

charpos1 line0: threshold 2: symbol h, conf: 88,443428 font: brazil (index 0) size 11px - h conf: 88,443428
- m conf: 75,609329

- n conf: 74,041962


charpos3 line0: threshold 2: symbol n, conf: 64,561951 font: brazil (index 0) size 11px - n conf: 64,561951

- w conf: 58,123390

charpos4 line0: threshold 2: symbol 5, conf: 87,349213 font: brazil (index 0) size 11px - 5 conf: 87,349213

- s conf: 83,402206


charpos6 line0: threshold 2: symbol 7, conf: 82,908783 font: brazil (index 0) size 11px - 7 conf: 82,908783


PostProcess Line 0 Letter: 1 h -- score: 263.868 -- occurrences: 6
PostProcess Line 0 Letter: 1 n -- score: 93.2836 -- occurrences: 3
PostProcess Line 0 Letter: 1 m -- score: 63.3174 -- occurrences: 2
PostProcess Line 0 Letter: 1 ~ -- score: 18.399 -- occurrences: 5
PostProcess Line 0 Letter: 3 ~ -- score: 196.085 -- occurrences: 11
PostProcess Line 0 Letter: 3 n -- score: 124.169 -- occurrences: 6
PostProcess Line 0 Letter: 3 w -- score: 31.3076 -- occurrences: 2
PostProcess Line 0 Letter: 3 h -- score: 18.649 -- occurrences: 1
PostProcess Line 0 Letter: 3 r -- score: 14.7893 -- occurrences: 2
PostProcess Line 0 Letter: 4 5 -- score: 261.063 -- occurrences: 6
PostProcess Line 0 Letter: 4 s -- score: 77.8641 -- occurrences: 2
PostProcess Line 0 Letter: 6 7 -- score: 227.818 -- occurrences: 6
0 total permutations
PostProcess Analysis Complete: -- MATCH: 0
Starting CharacterAnalysis identification
filterContourHoles: contour index: 11
Threshold 0 had 7 good indices.
filterContourHoles: contour index: 18
Threshold 1 had 7 good indices.
filterContourHoles: contour index: 17
Threshold 2 had 7 good indices.
CharacterAnalysis::findOuterBoxMask
Winning image index (findOuterBoxMask) is: -1
Best fit score: 7 Index: 0
CharacterAnalysis, plate inverted: MEAN: [255, 0, 0, 0] : 0
Plate inverted: 0
The winning score is: 4
Starting CharacterSegmenter
Segmenter: inverted: 0
LINE 0: avgCharHeight: 31 - height_to_width_ratio: 1.4
LINE 0: avgCharWidth: 22.1429
All Boxes size 8
All Boxes size 8
All Boxes size 8
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
All Boxes size 0
Adding label All Histograms
Adding label Best Boxes
Edge Filter: Entire left region is erased
Edge Filter: left=2 right=200
Adding label Edge Filter #1
Not Merging 2 boxes -- 0 and 1 -- has_good_gap: 1 bigWidth (33) > max_width (27)
Not Merging 2 boxes -- 1 and 2 -- has_good_gap: 1 bigWidth (52) > max_width (27)
Not Merging 2 boxes -- 2 and 3 -- has_good_gap: 1 bigWidth (52) > max_width (27)
Not Merging 2 boxes -- 3 and 4 -- has_good_gap: 1 bigWidth (58) > max_width (27)
Not Merging 2 boxes -- 4 and 5 -- has_good_gap: 1 bigWidth (41) > max_width (27)
Not Merging 2 boxes -- 5 and 6 -- has_good_gap: 1 bigWidth (42) > max_width (27)
Not Merging 2 boxes -- 6 and 7 -- has_good_gap: 1 bigWidth (42) > max_width (27)
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Box Score: 3
Character CLEAN: (area) removing box 0 in threshold 0 -- Area 0 < 6.8
Character CLEAN: (area) removing box 0 in threshold 1 -- Area 0 < 6.8

Character CLEAN: (area) removing box 0 in threshold 2 -- Area 0 < 6.8

---------------------------------------------

charpos3 line0: threshold 0: symbol n, conf: 69,938576 font: brazil (index 0) size 11px - n conf: 69,938576

charpos4 line0: threshold 0: symbol 5, conf: 91,385284 font: brazil (index 0) size 11px - 5 conf: 91,385284

- s conf: 85,236519


charpos6 line0: threshold 0: symbol 7, conf: 82,545197 font: brazil (index 0) size 11px - 7 conf: 82,545197

charpos7 line0: threshold 0: symbol 6, conf: 84,514885 font: brazil (index 0) size 11px - 6 conf: 84,514885

- b conf: 75,976562

---------------------------------------------


charpos3 line0: threshold 1: symbol n, conf: 64,760223 font: brazil (index 0) size 11px - n conf: 64,760223

- w conf: 59,563278

charpos4 line0: threshold 1: symbol 5, conf: 90,845444 font: brazil (index 0) size 11px - 5 conf: 90,845444

- s conf: 84,678146

---------------------------------------------

---------------------------------------------

---------------------------------------------


charpos4 line0: threshold 2: symbol 5, conf: 86,339851 font: brazil (index 0) size 11px - 5 conf: 86,339851

- s conf: 81,094521


charpos6 line0: threshold 2: symbol 7, conf: 82,908783 font: brazil (index 0) size 11px - 7 conf: 82,908783


PostProcess Line 0 Letter: 3 n -- score: 89.3976 -- occurrences: 4
PostProcess Line 0 Letter: 3 ~ -- score: 71.0391 -- occurrences: 5
PostProcess Line 0 Letter: 3 w -- score: 14.5633 -- occurrences: 1
PostProcess Line 0 Letter: 4 5 -- score: 267.141 -- occurrences: 6
PostProcess Line 0 Letter: 4 s -- score: 116.009 -- occurrences: 3
PostProcess Line 0 Letter: 6 7 -- score: 150.908 -- occurrences: 4
PostProcess Line 0 Letter: 7 6 -- score: 79.0298 -- occurrences: 2
PostProcess Line 0 Letter: 7 b -- score: 30.9766 -- occurrences: 1
PostProcess Line 0 Letter: 7 ~ -- score: 4.02344 -- occurrences: 1
0 total permutations
PostProcess Analysis Complete: -- MATCH: 0

I think that is because that plate is an artist's rendition of a Brazilian plate. The font is a bit different than what the real plates use. The EU OCR may match it, since that is trained on a wider variety of fonts.

I started ported to mips processor the opencv+tesseract

To port

is it possible to run this in a raspberry pi with live streaming? or arduino?

Arduino not!

Enviada do meu iPhone

Em 29/01/2017, ?s 11:05, "Fernando" <[email protected]notifications@github.com> escreveu:

is it possible to run this in a raspberry pi with live streaming? or arduino?

-
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-275912565, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzNEsM0tsqOAFjYvCaIq-DdcbBUF7ks5rXI6lgaJpZM4EuE_H.

does it detect multiple plates in same image?

I dont know! Now i am testing performance on mips 560 mhz! Just ported the c++ code to it

Enviada do meu iPhone

Em 29/01/2017, ?s 11:11, "Fernando" <[email protected]notifications@github.com> escreveu:

does it detect multiple plates in same image?

-
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-275912834, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzBssgUNCUk7BInd6Ltw8TTFRPaOuks5rXI_ggaJpZM4EuE_H.

Great job porting to MIPS by the way!

On Sun, 29 Jan 2017 at 11:15 tcpipchip notifications@github.com wrote:

I dont know! Now i am testing performance on mips 560 mhz! Just ported the
c++ code to it

Enviada do meu iPhone

Em 29/01/2017, ?s 11:11, "Fernando" <[email protected] [email protected]>> escreveu:

does it detect multiple plates in same image?

-

You are receiving this because you commented.

Reply to this email directly, view it on GitHub<
https://github.com/openalpr/openalpr/issues/124#issuecomment-275912834>,
or mute the thread<
https://github.com/notifications/unsubscribe-auth/AK9MzBssgUNCUk7BInd6Ltw8TTFRPaOuks5rXI_ggaJpZM4EuE_H

.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/openalpr/openalpr/issues/124#issuecomment-275913061,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAzRagzBlsv-LOIQCP_WsQgspv3yMYvuks5rXJDdgaJpZM4EuE_H
.

i aborted to use the mips24...too slow! ;(


De: Kauê Gimenes notifications@github.com
Enviado: quarta-feira, 8 de fevereiro de 2017 15:04
Para: openalpr/openalpr
Cc: tcpipchip; Comment
Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

We may change our plate layout in the future.

[https://camo.githubusercontent.com/110248667f20c7ed9c178ed0787ad3acc23c44a7/687474703a2f2f73322e676c62696d672e636f6d2f6a6a424941354a6470324b57574a63596e66724e566e345f42366b3d2f363230783436352f732e676c62696d672e636f6d2f6a6f2f67312f662f6f726967696e616c2f323031362f30392f30382f3230313431323035313435353538726f647269676f5f6e756e65735f6d696e636964616465735f736974652e6a7067]https://camo.githubusercontent.com/110248667f20c7ed9c178ed0787ad3acc23c44a7/687474703a2f2f73322e676c62696d672e636f6d2f6a6a424941354a6470324b57574a63596e66724e566e345f42366b3d2f363230783436352f732e676c62696d672e636f6d2f6a6f2f67312f662f6f726967696e616c2f323031362f30392f30382f3230313431323035313435353538726f647269676f5f6e756e65735f6d696e636964616465735f736974652e6a7067

Source: http://g1.globo.com/carros/noticia/2016/09/placas-do-mercosul-sao-adiadas-novamente-no-brasil.html

[http://s2.glbimg.com/Df4Sl68xnXlisNv_Xgo63GsrYWQ=/s.glbimg.com/jo/g1/f/original/2014/10/08/z141008a-1.jpg]http://g1.globo.com/carros/noticia/2016/09/placas-do-mercosul-sao-adiadas-novamente-no-brasil.html

Placas do Mercosul são adiadas novamente no Brasilhttp://g1.globo.com/carros/noticia/2016/09/placas-do-mercosul-sao-adiadas-novamente-no-brasil.html
g1.globo.com
A adoção das placas veiculares em padrão único com o Mercosul foi adiada novamente no Brasil, agora por tempo indeterminado, segundo resolução publicada na ...


You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-278353036, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzNsAL3DYzf-Wo9ONUAV5lc0X-moNks5radmTgaJpZM4EuE_H.

I back to MIPS24 and compiled 100%, i need now your HELP :)

root@mylinkit:~# ./alpr -c us ea7the.jpg
--(!) Runtime directory '/usr/local/share/openalpr/runtime_data' does not exist!
--(!) Please update the OpenALPR config file: '/usr/local/etc/openalpr/openalpr.conf'
--(!) to point to the correct location of your runtime_dir
Error loading OpenALPR
root@mylinkit:~#

What do i copy to that directory ?

Miguel
[email protected]

Got it :) on MIPS24 :)
root@mylinkit:~# ./alpr -c us ea7the.jpg
plate0: 10 results
- EA7THE confidence: 91.0578
- EA7TBE confidence: 84.133
- EA7T8E confidence: 83.0083
- EA7TRE confidence: 82.7869
- EA7TE confidence: 82.5961
- EA7TME confidence: 80.2908
- EA7TH6 confidence: 77.0045
- EA7THB confidence: 75.5779
- EA7TH confidence: 74.6576
- EA7TB6 confidence: 70.0797

10 seconds

what i have change to test on Brazil plates ?

Oi Pessoal,

As placas do Brasil já estão funcionando em Android?

Hello guys,

I need some help to apply openalpr in brazilian plates using Android apppication.

Can you help me?

Hi guys ... someone has done some for brazilian motorcycles plates?

@apmendes, I don't think so. We would need motorcycles plates images to create the training set. I have here around 75 images, but we would something around 1000 images.

@renatosc, So I am going to start taking pictures and I am planning to share it. Not sure how to handle two lines of information for training. Is that a problem?

@apmendes. No problem. Just focus on gathering images for now. I will upload my images also.

Just uploaded 109 motorcycles images. The repo that we use is https://github.com/openalpr/plates_br

Alguem tem a rede neural de testes para eu testar o openalpr no MIPS24 ?


De: Renato notifications@github.com
Enviado: terça-feira, 7 de março de 2017 03:50
Para: openalpr/openalpr
Cc: tcpipchip; Comment
Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

Just uploaded 109 motorcycles images. The repo that we use is https://github.com/openalpr/plates_br

GitHub - openalpr/plates_br: LP images for brazilhttps://github.com/openalpr/plates_br
github.com
README.md plates_br. LP images for brazil. License: These images may only be used for training the OpenALPR license plate recognition software.


You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-284614066, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzM1uhV3aD88RCW-fkoXEnAyWplZAks5rjNQEgaJpZM4EuE_H.

This plate is not being recognized:

image

this not good!


De: Mateus Nava notifications@github.com
Enviado: quarta-feira, 29 de março de 2017 14:48
Para: openalpr/openalpr
Cc: tcpipchip; Comment
Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

This plate is not being recognized:

[image]https://cloud.githubusercontent.com/assets/3704377/24460694/766ab628-1475-11e7-8050-2c31b40b46fa.png

[https://cloud.githubusercontent.com/assets/3704377/24460694/766ab628-1475-11e7-8050-2c31b40b46fa.png]


You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-290113972, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzJOsetrfrjD8i-xxxXyQSlGlaod0ks5rqm9BgaJpZM4EuE_H.

@mateusnava, we decided to open a brasilian alpr webservice on the internet
it can read this plate without any problems.

@mateusnava funcionamos tambem no android. Podemos ajudar voce se esta querando.

@apmendes our alpr webservice works also for motorcycles.

If you want to use this service for free let me know [email protected]

@jeorfevre ok, I will contact you.

@mateusnava you need to tweak configs in order to reach the expected results for your conditions (char width and height, prewarp, etc).
image

@jovargas how can I do that? I'm using default BR config with the last openalpr docker image.

@mateusnava first, to see the effect of your changes, I suggest you to set the debug parameters from 0 to 1 inside the openalpr.conf file. Then, in runtime_data\config\br.conf play with some parameteres, like char_height_mm, char_width_mm, etc... Make your adjustments and see how they get you to right or wrong results.
As we have poor documentation about parameters, you'll have to figure out by your own what is each one for. Another way to know their functionality is surfing the source code to understand what are they doing.
Good luck!!

i ported the openalpr to MIPS24, wich parameter/files must i change to use with Brazilian plate ?


De: Jean-Emmanuel Orfevre notifications@github.com
Enviado: quarta-feira, 29 de março de 2017 16:20
Para: openalpr/openalpr
Cc: tcpipchip; Comment
Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

@mateusnavahttps://github.com/mateusnava, we decided to open a brasilian alpr webservice on the internet
it can read this plate without any problems.
If you want to use this service for free let me know [email protected]je@rizze.com


You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-290142889, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzH9aIZvMd8O-YiUEXrnSm8eTWuC9ks5rqoTLgaJpZM4EuE_H.

@glaucioguerra those links were part of a project that was aborted.

If i'm not wrong, that content is available at https://github.com/openalpr/plates_br, https://github.com/openalpr/train-ocr/tree/master/br and https://github.com/openalpr/train-detector/tree/master/br

@jeorfevre I will contact you about your webservice.

Ok @jovargas thanks for your help. So, the training for br plates was aborted? Can I use this training projects in my personal projects?
Thanks again.

@jeorfevre preciso de ajuda para reconhecer placas brasileiras em Android. Podes me ajudar?

@glaucioguerra No, a personal project was aborted. And yes, you can use that content to train your own detector or then use the compiled one that was merged to the master project.

Olá! O BR para veículos parece estar funcionando bem. Alguém conseguiu treinar as motos?

Ainda não ... preciso disto eu vou começar a tirar fotos esta semana.
Vou fazer upload.

2017-05-16 11:47 GMT-03:00 joaonicolini notifications@github.com:

Olá! O BR para veículos parece estar funcionando bem. Alguém conseguiu
treinar as motos?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openalpr/openalpr/issues/124#issuecomment-301806107,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFwY6_0-6_PP3bnHqzt2mxS1Ihag-fD-ks5r6bcSgaJpZM4EuE_H
.

Ok ... in english ... I don't have yet LPR training for motorcycles
brazilian plates. Just started with few images and I think it will be a
little bit more tricky.
By the way I am going to upload more car's licence plates also. Sorry about
taking long to do that.

2017-05-17 2:00 GMT-03:00 Alex Mendes alex.pmendes@gmail.com:

Ainda não ... preciso disto eu vou começar a tirar fotos esta semana.
Vou fazer upload.

2017-05-16 11:47 GMT-03:00 joaonicolini notifications@github.com:

Olá! O BR para veículos parece estar funcionando bem. Alguém conseguiu
treinar as motos?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openalpr/openalpr/issues/124#issuecomment-301806107,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFwY6_0-6_PP3bnHqzt2mxS1Ihag-fD-ks5r6bcSgaJpZM4EuE_H
.

Thanks, apmendes, I would like to cooperate, but we have only 3 motorcycles for now. If you be able to succeed at this training, I would like to include these configuration files too.

I believe we can improve performance by using knowledge about the letters to weight better the possible candidates. For example, in this case, there's no license plate that starts with O, so the Q variant would be the most probable ( refer: http://portaldotransito.com.br/noticias/como-funciona-a-combinacao-de-letras-e-numeros-nas-placas-dos-veiculos/ )

@cristian-henrique
Some points to consider:
1- Mostly, that kind of wrong char recongition means the OCR needs more effective training (using more unique samples of that char).
2- As Matt commented before, some conditions are bad for achieve good LPR results. Please read this.

@israellot
That link refers to obsolete information. New sequences were released since then, as you can read here.
So, that approach wouldn't be reliable.

You're right @jovargas . Still, an intelligence layer could weight the probabilities considering the geolocation observation point and distribution of sequences within the territory. Of course that's not a topic to include in this project, but a layer added on top of it by applications.

Yep, it's interesting, but what about "outsiders" plates? I mean, you can find São Paulo plates all over the country. How would you deal with that case?
Anyway, it might be useful to have a smart layer to identify the region where the plate was issued (for those who need that information).

That would be useful for disambiguation cases I mean. The whole process of plate recognition is based on statistics anyway, the more variables we have, the more confident we can be about a result. Of course if the confidence level of an outsider plate is high enough, the chosen candidate wouldn't be changed. In a nutshell I believe we could have less false-positives in the end. But I'm just thowring ideas, tests would need to be made in real scnarios.

@israellot That's correct, it could be very interesting for some locations. Every new idea has to be brainstormed. Please feel free to share your results in case you decide to implement something about it.

BTW, avoiding false positives is just a matter of training with more samples. That's why it is very important to keep gathering images even when it seems to be enough. Every new detector should be used to get new samples from videos/images and train it again, using both false and true positives data to make it stronger.

I made this pull request 2 days ago and as you guys can see, I managed to train an initial 2-lines plates detector, with only 1000 samples. Initial means very weak, but good enough to catch some data that can be used in future trainings. So, if anyone reading this have (or can get some) videos or images containing 2-lines plates, please share with me and I can extract the data, then, generate a better detector and pull it up to the master branch.
Collaboration is the key, fellas... Collaboration.

P.S.: The brazilian 2-lines plates design varies slightly. We need 10k ~ 15k samples to get a decent detector.

@jovargas , I'm working on alpr. I have 6 hours per day to work on this.
Have something that I can do to help?


Estou com 79% de taxa de acerto utilizando uma base de 153 imagens, utilizando o lbrtrain do repositório do git.

A taxa ainda está relativamente baixa (é feita com imagens de caminhões). Estou disponível para ajudar a melhorar os números se tiver algo que possamos fazer.

Using only red plates base, I have 6% better accuracy with parameter:
invert = always

On last line of br.conf

@sandropf right now we need A LOT of motorcycle plates samples to improve the multiline detector. If you can get some of them, it would be a great help.

That 79% match rate can become better with some config tweaks.
If possible, please share 3 "good" and 3 "bad" (on your consideration) images containing plates, taken from the place you're working with, and I'll see if I can get you a better params setting.

P.S.: Remember that every place needs its own configuration.

Hi @jovargas , with the value always invert (WITH THIS PARAMETER THE ALPR BR WILL NOT RECOGNIZE CAR PLATES), on br.conf, my accuracy is 92% (but I don't use the openalpr-utils-benchmark, I use a java program that run openalpr -c br, replace some letters and numbers (like a filter), and if the plate was not recognized the program run alpr -c eu. When java ends alpr of all plates it print the result like benchmark, and save it on database). Only 10 images was not recognized, but I think that is not possible fix then on configs without spoil the others 143 images. Maybe if I train more the tesseract tessdata I can get a better result, but I'll won't care about this now, 92% is a great accuracy for me.

The motorcycle images are complicated for me, because my base comes from a mining company where the camera is installed, so 99% of the vehicles that go there are trucks.

But I can do my best to try to get at least a hundred pictures of motorcycle and try to send you. You need then cropped?

I am currently using .box and .tif from https://github.com/openalpr/train-ocr/tree/master/br , which was updated 9 months ago. Is this the most current training?

Thank you.

@sandropf:
_"... but I think that is not possible fix them on configs without spoil the others 143 images."_
Well, I do think it is, but if you think so... Happy world, free world ;)

_"Maybe if I train more the tesseract tessdata I can get a better result"_
You are completely right. It would be nice if you could use some of those 6 hours per day to train a robust OCR data (And share it with us, of course. Otherwise, it wouldn't be that nice, lol).

Motorcycles: full images are better for future feedbacks, so you don't need to crop them out.

_"Is this the most current training?"_
Judging by the participants' lack of shared data, we can say: yes, it is.

@jovargas
_"It would be nice if you could use some of those 6 hours per day to train a robust OCR data (And share it with us, of course. Otherwise, it wouldn't be that nice, lol)."_
Yes, I have images to train. But I don't know how do it effectively. I know generate the tif and box and train. But when I tried create the chars images with openalpr-utils-classifychars my accuracy was worst than using only chars of git repo. I imagine it was because I generated many letters characters that already had characters, such as 'O'. I think it is necessary to take the 1800 characters and add only letters that have few images, like 'D' and 'W'.

_"Well, I do think it is, but if you think so..."_
Ok, I uploaded my 153 images already tagged with openalpr-utils-tag... If you think that can better my accuracy, please do it.

https://drive.google.com/file/d/0B1u13mJ7cLHPWnpIeTlxaW8zU1k/view?usp=sharing

The angle of captured images is fixed, but the distance can be different.

In benchmark utility my rate is lower than in my java application, cause in my java application I execute a post filter process (into java 92% accuracy).

I used the configures:

  • detection_iteration_increase = 1.05
  • detection_strictness = 0
  • analysis_count = 2
  • must_pattern = 0
  • postprocess_min_confidence = 80
  • postprocess_confidence_skip_level = 70

The process time its not good, because these parameters.
And on br.conf I put always invert to better the rate.

With always invert parameter:

Accuracy scores (higher is better)
Percent of plates DETECTED: 0
Percent of correct TOP10: 83.0065
Percent of correct MATCHES: 73.8562

False Positives Score (lower is better)
False DETECTIONS per image: 651.654
False RESULTS per image: 0.124183

Without always invert parameter:

Accuracy scores (higher is better)
Percent of plates DETECTED: 0
Percent of correct TOP10: 75.817
Percent of correct MATCHES: 64.0523

False Positives Score (lower is better)
False DETECTIONS per image: 651.654
False RESULTS per image: 0.20915

_"Motorcycles: full images are better for future feedbacks, so you don't need to crop them out."_
Ok. These images can be easily obtained in parking of Shoppings, because motorcycle category are separated by vehicles. As soon as possible I will start collecting and sending you.

Thanks for help.

@sandropf I took a fast look at those images and I noticed some possible issues with the capture angle (Too sharp sometimes. Please read this).

You're using Java binding, right? If you're analyzing every frame, then you should define a reduced area (ROI) where every plate is going to have -more or less- the same size and angle. If is not possible to change the camera angle, then you might want to use prewarp feature.

I'll be later testing with your images and then I give you a feedback.

@jovargas I used prewarp feature to get 92%.

Today my team finished to rename images (to my java application run, he's need that image had the same name of plate. It would be like the tagplate utility) of 1100 images. In these 1100 images I have about 5 frames per plate. I'm working on this now, I'll do what you say (define a reduced area) to get only the best frame.

Thank you for the tips.

Anyone looking for further help please feel free to contact me at jvargas.[email protected]

I would like to know if the country = "br2" captures the 1 line plate and 2 line or only 2 line plates? I am testing and see some 1 line plates being captured by "br2". Thank you!

Hi guys,
Is it "good enough" to train openalpr using one camera, considering that I'll use other camera? I said that because I'll use a raspberry pi camera, but it'll be a lot faster to take pictures of plates using another camera

Boa tarde!

Dentro do runtime_data adicionei os arquivos br e está retorando este erro:

$ alpr -c br c971ab96-055f-11e5-95e9-60283eab9fc4.jpg

--(!) Runtime directory '/usr/share/openalpr/runtime_data' is invalid. Missing OCR data for the country: 'br'!

O que devo fazer além de criar o br.xml e br.patterns ?

I did using AWS services!
Look the project running
https://youtu.be/JbXJcA4kn7A

Hi @tcpipchip , you're using aws service to detect plate or using aws service to host your openalpr?
For me is interesting that recognition is made in local server.

Hi, i used the AWS service to detect plate. U$1,00 to 1.000 pictures

@tcpipchip in this case, I recommend you to use openalpr project.
They have an online solution too.
http://www.openalpr.com/

You have 2k of imagens free If i'm not wrong. And have payed plains too. The accuracy very higher than openalpr public project. I suggest you take a drive, maybe the price and accuracy is better than aws.

I tested that link http://www.openalpr.com/

Not worked for some Mercosul plates :(

And AWS detected

hello, I have some 50 pictures of cars with Brazilian licenses that I could add to your training data and I am planing on taking another 200 or more. could you please let me know where or how should I upload it? Please forgive my ignorance(and bad english), I am new to GitHub and all this, but I am using your program in my graduation project and it has given very sactisfatory results, thanks!

Existe alguma configuração para outras cores de placa?
Fiz o teste com placas preta, vermelha e verde.
A preta houve reconhecimento parcial das letras, a vermelha e verde nem chegou a reconhecer.

@leandroz3ta para placas vermelhas tente:

run_time/config/br.conf

Coloque o campo "invert" como always:

invert = always

Entretanto, isso vai fazer parar de reconhecer placas comuns. O que eu fiz foi duas configurações, uma para comuns e outra para vermelhas, e meu algoritmo roda as duas.

Pra placas de outras cores, não faz mais sentido ter um passo anterior (fora do projeto, obviamente) que passe as placas pra preto-e-branco, pra depois passar pela solução?

@AdrianoCahete , este invert faz exatamente isso. Inverte as cores, porém é dentro do projeto.
Acho mais viável utilizar o próprio openalpr para isso, já que o mesmo fornece essa solução.

No meu caso rodo mais ou menos isso:
openalpr --configplacanormal brNormal

E na aplicação eu trato, se não achar nenhuma placa rodo:
openalpr --configPlacaVermelha brVermelha

Estão usando solução com câmera ou imagem?

always

fiz conforme falou, porém só exibiu os resultados das placas pretas. Tem algo mais que preciso configurar?

always

fiz conforme falou, porém só exibiu os resultados das placas pretas. Tem algo mais que preciso configurar?

Pode compartilhar seu br.conf?

Mesmo com placas com boa qualidade não estou conseguindo ler. Algumas sim outras não.

`; 35-50; 45-60, 55-70, 65-80, 75-90
char_analysis_min_pct = 0.35
char_analysis_height_range = 0.15
char_analysis_height_step_size = 0.10
char_analysis_height_num_steps = 5

segmentation_min_speckle_height_percent = 0.4
segmentation_min_box_width_px = 2
segmentation_min_charheight_percent = 0.4;
segmentation_max_segment_width_percent_vs_average = 2.0;

plate_width_mm = 400
plate_height_mm = 130

multiline = 0

char_height_mm = 70
char_width_mm = 50
char_whitespace_top_mm = 45
char_whitespace_bot_mm = 20

template_max_width_px = 150
template_max_height_px = 49

; Higher sensitivity means less lines
plateline_sensitivity_vertical = 18
plateline_sensitivity_horizontal = 55

; Regions smaller than this will be disqualified
min_plate_size_width_px = 65
min_plate_size_height_px = 21

; Results with fewer or more characters will be discarded
postprocess_min_characters = 7
postprocess_max_characters = 7

ocr_language = lbr

; Override for postprocess letters/numbers regex.
postprocess_regex_letters = [A-Z]
postprocess_regex_numbers = [0-9]

; Whether the plate is always dark letters on light background, light letters on dark background, or both
; value can be either always, never, or auto
invert = always`

`; 35-50; 45-60, 55-70, 65-80, 75-90
char_analysis_min_pct = 0.35
char_analysis_height_range = 0.15
char_analysis_height_step_size = 0.10
char_analysis_height_num_steps = 5

segmentation_min_speckle_height_percent = 0.4
segmentation_min_box_width_px = 2
segmentation_min_charheight_percent = 0.4;
segmentation_max_segment_width_percent_vs_average = 2.0;

plate_width_mm = 400
plate_height_mm = 130

multiline = 0

char_height_mm = 70
char_width_mm = 50
char_whitespace_top_mm = 45
char_whitespace_bot_mm = 20

template_max_width_px = 150
template_max_height_px = 49

; Higher sensitivity means less lines
plateline_sensitivity_vertical = 18
plateline_sensitivity_horizontal = 55

; Regions smaller than this will be disqualified
min_plate_size_width_px = 65
min_plate_size_height_px = 21

; Results with fewer or more characters will be discarded
postprocess_min_characters = 7
postprocess_max_characters = 7

ocr_language = lbr

; Override for postprocess letters/numbers regex.
postprocess_regex_letters = [A-Z]
postprocess_regex_numbers = [0-9]

; Whether the plate is always dark letters on light background, light letters on dark background, or both
; value can be either always, never, or auto
invert = always`

Você está usando Python para efetuar a leitura?

está usando o set_defaut_region?

; 35-50; 45-60, 55-70, 65-80, 75-90 char_analysis_min_pct = 0.35 char_analysis_height_range = 0.15 char_analysis_height_step_size = 0.10 char_analysis_height_num_steps = 5 segmentation_min_speckle_height_percent = 0.4 segmentation_min_box_width_px = 2 segmentation_min_charheight_percent = 0.4; segmentation_max_segment_width_percent_vs_average = 2.0; plate_width_mm = 400 plate_height_mm = 130 multiline = 0 char_height_mm = 70 char_width_mm = 50 char_whitespace_top_mm = 45 char_whitespace_bot_mm = 20 template_max_width_px = 150 template_max_height_px = 49 ; Higher sensitivity means less lines plateline_sensitivity_vertical = 18 plateline_sensitivity_horizontal = 55 ; Regions smaller than this will be disqualified min_plate_size_width_px = 65 min_plate_size_height_px = 21 ; Results with fewer or more characters will be discarded postprocess_min_characters = 7 postprocess_max_characters = 7 ocr_language = lbr ; Override for postprocess letters/numbers regex. postprocess_regex_letters = [A-Z] postprocess_regex_numbers = [0-9] ; Whether the plate is always dark letters on light background, light letters on dark background, or both ; value can be either always, never, or auto invert = always

Você está usando Python para efetuar a leitura?

está usando o set_defaut_region?

Estou usando java e usanto set_default_region

carro16

Esta placa por exemplo não estou conseguindo ler. Tem uma boa qualidade, mas não entendo porque não le

Poderia me passar seu br.patterns?

carro16

Esta placa por exemplo não estou conseguindo ler. Tem uma boa qualidade, mas não entendo porque não le

Poderia me passar seu br.patterns?

Estou utilizando os patterns default do projeto que vem no git.
No meu caso testei algumas nestas posições e também não detectou.
Pelo que andei lendo na documentação, isso é questão de calibração.

carro16
Esta placa por exemplo não estou conseguindo ler. Tem uma boa qualidade, mas não entendo porque não le
Poderia me passar seu br.patterns?

Estou utilizando os patterns default do projeto que vem no git.
No meu caso testei algumas nestas posições e também não detectou.
Pelo que andei lendo na documentação, isso é questão de calibração.

Será que lendo com veículo em movimento teremos mais chances de sucesso na detecção?

eu uso AMAZON services, nao falha uma...mas nao vale a pena se quiser ler de milhares de carros


De: Ubiracy notifications@github.com
Enviado: quinta-feira, 15 de novembro de 2018 13:06
Para: openalpr/openalpr
Cc: tcpipchip; Mention
Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

[carro16]https://user-images.githubusercontent.com/124369/48525978-15d28e80-e86d-11e8-8f9b-65d205dc6171.jpg

[https://user-images.githubusercontent.com/124369/48525978-15d28e80-e86d-11e8-8f9b-65d205dc6171.jpg]

Esta placa por exemplo não estou conseguindo ler. Tem uma boa qualidade, mas não entendo porque não le
Poderia me passar seu br.patterns?

Estou utilizando os patterns default do projeto que vem no git.
No meu caso testei algumas nestas posições e também não detectou.
Pelo que andei lendo na documentação, isso é questão de calibração.

Será que lendo com veículo em movimento teremos mais chances de sucesso na detecção?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-439033478, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzAZTxxVS5Ygz0cPVcecyCyzLu91pks5uvWa6gaJpZM4EuE_H.

eu uso AMAZON services, nao falha uma...mas nao vale a pena se quiser ler de milhares de carros

________________________________ De: Ubiracy notifications@github.com Enviado: quinta-feira, 15 de novembro de 2018 13:06 Para: openalpr/openalpr Cc: tcpipchip; Mention Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124) [carro16]https://user-images.githubusercontent.com/124369/48525978-15d28e80-e86d-11e8-8f9b-65d205dc6171.jpg [https://user-images.githubusercontent.com/124369/48525978-15d28e80-e86d-11e8-8f9b-65d205dc6171.jpg] Esta placa por exemplo não estou conseguindo ler. Tem uma boa qualidade, mas não entendo porque não le Poderia me passar seu br.patterns? Estou utilizando os patterns default do projeto que vem no git. No meu caso testei algumas nestas posições e também não detectou. Pelo que andei lendo na documentação, isso é questão de calibração. Será que lendo com veículo em movimento teremos mais chances de sucesso na detecção? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#124 (comment)>, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzAZTxxVS5Ygz0cPVcecyCyzLu91pks5uvWa6gaJpZM4EuE_H.

Usa o Servico da OpenAlpr? No meu caso seria realtime e não posso ficar preso com licenca

sobre alpr compilei para openwrt...desistir pq descobri que meu mips nao tinha FPU


De: Ubiracy notifications@github.com
Enviado: quinta-feira, 15 de novembro de 2018 13:13
Para: openalpr/openalpr
Cc: tcpipchip; Mention
Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

eu uso AMAZON services, nao falha uma...mas nao vale a pena se quiser ler de milhares de carros

________________________________ De: Ubiracy [email protected]notifications@github.com Enviado: quinta-feira, 15 de novembro de 2018 13:06 Para: openalpr/openalpr Cc: tcpipchip; Mention Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124https://github.com/openalpr/openalpr/issues/124) [carro16]https://user-images.githubusercontent.com/124369/48525978-15d28e80-e86d-11e8-8f9b-65d205dc6171.jpg [https://user-images.githubusercontent.com/124369/48525978-15d28e80-e86d-11e8-8f9b-65d205dc6171.jpg] Esta placa por exemplo não estou conseguindo ler. Tem uma boa qualidade, mas não entendo porque não le Poderia me passar seu br.patterns? Estou utilizando os patterns default do projeto que vem no git. No meu caso testei algumas nestas posições e também não detectou. Pelo que andei lendo na documentação, isso é questão de calibração. Será que lendo com veículo em movimento teremos mais chances de sucesso na detecção? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#124 (comment)https://github.com/openalpr/openalpr/issues/124#issuecomment-439033478>, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzAZTxxVS5Ygz0cPVcecyCyzLu91pks5uvWa6gaJpZM4EuE_H.

Usa o Servico da OpenAlpr? No meu caso seria realtime e não posso ficar preso com licenca


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-439035415, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzFbGl5abRaFD5Yrp2ESXvBEoue2fks5uvWhngaJpZM4EuE_H.

FPU

Estou usando Raspberry 3B + Ubuntu Mate

ahhh sim, pena que é caro!


De: Ubiracy notifications@github.com
Enviado: quinta-feira, 15 de novembro de 2018 13:52
Para: openalpr/openalpr
Cc: tcpipchip; Mention
Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

FPU

Estou usando Raspberry 3B + Ubuntu Mate


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-439046600, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzKv42m-vpsn4JYIdep97T37SjDlEks5uvXGigaJpZM4EuE_H.

ahhh sim, pena que é caro!

________________________________ De: Ubiracy notifications@github.com Enviado: quinta-feira, 15 de novembro de 2018 13:52 Para: openalpr/openalpr Cc: tcpipchip; Mention Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124) FPU Estou usando Raspberry 3B + Ubuntu Mate — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#124 (comment)>, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK9MzKv42m-vpsn4JYIdep97T37SjDlEks5uvXGigaJpZM4EuE_H.

Como está suas configs de camera calibration?
Teve que alterar algo?

Neste momento está assim o meu mas detecta esta placa
captura de ecra no 2018-11-15 12-06-57

; 35-50; 45-60, 55-70, 65-80, 75-90 char_analysis_min_pct = 0.35 char_analysis_height_range = 0.15 char_analysis_height_step_size = 0.10 char_analysis_height_num_steps = 5 segmentation_min_speckle_height_percent = 0.4 segmentation_min_box_width_px = 2 segmentation_min_charheight_percent = 0.4; segmentation_max_segment_width_percent_vs_average = 2.0; plate_width_mm = 400 plate_height_mm = 130 multiline = 0 char_height_mm = 70 char_width_mm = 50 char_whitespace_top_mm = 45 char_whitespace_bot_mm = 20 template_max_width_px = 150 template_max_height_px = 49 ; Higher sensitivity means less lines plateline_sensitivity_vertical = 18 plateline_sensitivity_horizontal = 55 ; Regions smaller than this will be disqualified min_plate_size_width_px = 65 min_plate_size_height_px = 21 ; Results with fewer or more characters will be discarded postprocess_min_characters = 7 postprocess_max_characters = 7 ocr_language = lbr ; Override for postprocess letters/numbers regex. postprocess_regex_letters = [A-Z] postprocess_regex_numbers = [0-9] ; Whether the plate is always dark letters on light background, light letters on dark background, or both ; value can be either always, never, or auto invert = always

Você está usando Python para efetuar a leitura?
está usando o set_defaut_region?

Estou usando java e usanto set_default_region

Amigo, como eu te disse, o always serve só para placas vermelhas e pretas.
Sempre que a placa for normal, deixa em auto ou never.
Por isso não deve ter pego essa placa que você está tentando. Faça o teste novamente porém com o invert auto.

@usantos conseguiu executar? Pois pra mim exibe o seguinte erro:
--(!) Runtime directory '/usr/share/openalpr/runtime_data' is invalid. Missing OCR data for the country: 'br'!
Error loading OpenALPR

Mesmo colocando o br.conf em:
/usr/share/openalpr/runtime_data/config/

Cara eu consegui sim, só que ja faz tempo que parei de mexer no programa, não me lembro o comando que usei, mas pegando a placa de frente tava lendo todas

Obter o Outlook para Androidhttps://aka.ms/ghei36


From: Icaro Jobs notifications@github.com
Sent: Tuesday, November 27, 2018 7:23:28 AM
To: openalpr/openalpr
Cc: fzmatta; Comment
Subject: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

@usantoshttps://github.com/usantos conseguiu executar? Pois pra mim exibe o seguinte erro:
--(!) Runtime directory '/usr/share/openalpr/runtime_data' is invalid. Missing OCR data for the country: 'br'!
Error loading OpenALPR

Mesmo colocando o br.conf em:
/usr/share/openalpr/runtime_data/config/


You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124#issuecomment-441986399, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AjZH-aSppAnYYxO80NYjqzrUG8x8zgi3ks5uzQSQgaJpZM4EuE_H.

Vocês conseguiram fazer rodar com os arquivos br.xml ?
OpenALPRInstance = new OpenALPR(this.Activity, AndroidDataDir, OpenALPRConfigFile, "br", "");
?

Alguém trabalhando nas novas placas? Temos interesse em apoiar se alguém já tiver algo ou se tiver de forma comercial...

@Renato-Lorenzi Fala Renato, estou trabalhando em solução própria para fins comerciais, quer conversar?

Vamos sim, meu e-mail [email protected]

Meu aluno defende o TCC este mes sobre reconhecimento de placas!
Talvez queira ele como assessoria ou desenvolvimento de algo ?
Sem sim, mande e-mail para [email protected]

galera alguem conseguiu avançar com as placas br? estou com um projeto aqui na empresa e estamos buscando soluções

Eu to precisando também !! Alguém conseguiu algo ?

eu tenho usado da AMAZON!


De: Marcelo C Fernandes notifications@github.com
Enviado: terça-feira, 26 de novembro de 2019 13:51
Para: openalpr/openalpr openalpr@noreply.github.com
Cc: tcpipchip tcpipchip@hotmail.com; Mention mention@noreply.github.com
Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124)

Eu to precisando também !! Alguém conseguiu algo ?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/openalpr/openalpr/issues/124?email_source=notifications&email_token=ACXUZTC6OKZGVLGRGEWUWL3QVUSUZA5CNFSM4BFYJ7D2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFGCBSI#issuecomment-558637257, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACXUZTEMRJFRSJ2J7DOH65TQVUSUZANCNFSM4BFYJ7DQ.

eu tenho usado da AMAZON!

________________________________ De: Marcelo C Fernandes notifications@github.com Enviado: terça-feira, 26 de novembro de 2019 13:51 Para: openalpr/openalpr openalpr@noreply.github.com Cc: tcpipchip tcpipchip@hotmail.com; Mention mention@noreply.github.com Assunto: Re: [openalpr/openalpr] Support for Brazilian number plates (#124) Eu to precisando também !! Alguém conseguiu algo ? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#124?email_source=notifications&email_token=ACXUZTC6OKZGVLGRGEWUWL3QVUSUZA5CNFSM4BFYJ7D2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFGCBSI#issuecomment-558637257>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACXUZTEMRJFRSJ2J7DOH65TQVUSUZANCNFSM4BFYJ7DQ.

Ele é pago...
To trabalhando em um Real-time pra mobile. Não da pra ficar dependente deles ($$$).

Estou usando um próprio que fizemos treinando com base no tensorflow.
Infelizmente não posso compartilhar o código/modelo por ser da empresa em que eu trabalho.

Estou usando um próprio que fizemos treinando com base no tensorflow.
Infelizmente não posso compartilhar o código/modelo por ser da empresa em que eu trabalho.

Mas e o modelo gerado, poderia ?

Desculpe a pergunta, openalp não é pago? https://www.openalpr.com/

Desculpe a pergunta, openalp não é pago? https://www.openalpr.com/

O código é aberto, você pode compilar por conta própria e rodar. Ou se não quer compilar e quer já usar algo pronto, pode usar a versão paga.

Galera... sou novo nisso... alguém pode me ajudar a configurar para rodar com placas brasileiras?

alguém com haar cascade xml de placas brasileiras que possa mandar para que eu possa realizar meu tcc?

Hello everyone

Does anyone here already have the training base for the new Mercosur plates?

Was this page helpful?
0 / 5 - 0 ratings