From 95fbbb1083912a96c79d44f75ce548230051e89c Mon Sep 17 00:00:00 2001 From: splewis1 Date: Fri, 8 Jul 2016 17:57:51 -0400 Subject: [PATCH 01/30] Update cameras.yaml Added support for Avigilon (MJPEG/H264), Sony (H264) and IQeye(H264) streams. --- runtime_data/cameras.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/runtime_data/cameras.yaml b/runtime_data/cameras.yaml index 4300a68..31c36f1 100644 --- a/runtime_data/cameras.yaml +++ b/runtime_data/cameras.yaml @@ -20,6 +20,11 @@ manufacturers: mjpeg: - "http://[username]:[password]@[ip_address]/mjpeg?res=full&x0=0&y0=0&x1=100%&y1=100%&quality=12&doublescan=0&fps=15&ver=HTTP/1.1" - "http://[username]:[password]@[ip_address]/image?res=half&x0=0&y0=0&x1=1600&y1=1200&quality=15&doublescan=0" + Avigilon: + mjpeg: + - "http://[username]:[password]@[ip_address]/media/still.jpg" + h264: + - "rtsp://[username]:[password]@[ip_address]/defaultPrimary?streamType=u" Aviosys: mjpeg: - "http://[username]:[password]@[ip_address]/GetData.cgi" @@ -103,6 +108,9 @@ manufacturers: IQeye: mjpeg: - "http://[username]:[password]@[ip_address]/now.jpg?snap=spush" + h264: + - "rtsp://[username]:[password]@[ip_address]/stream1" + - "rtsp://[username]:[password]@[ip_address]/now.mp4&res=high" Intellinet: mjpeg: - "http://[username]:[password]@[ip_address]/jpg/image.jpg" @@ -181,6 +189,8 @@ manufacturers: - "http://[username]:[password]@[ip_address]/image" - "http://[username]:[password]@[ip_address]/image?speed=0" - "http://[username]:[password]@[ip_address]/oneshotimage.jpg" + h264: + - "rtsp://[username]:[password]@[ip_address]/media/video1" Surecom: mjpeg: - "http://[username]:[password]@[ip_address]/mjpeg.cgi" From 3c3a50327bcfb76fb18d7cba282f189b49125cef Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Sun, 17 Jul 2016 09:50:44 -0400 Subject: [PATCH 02/30] Tweaked timing function to work with vs2015 --- src/openalpr/support/timing.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openalpr/support/timing.h b/src/openalpr/support/timing.h index a78bfa3..39407f7 100644 --- a/src/openalpr/support/timing.h +++ b/src/openalpr/support/timing.h @@ -17,7 +17,7 @@ long tv_nsec; // Nanoseconds - [0, 999999999] }; #else - #define timespec timeval + #endif #else #include From 655cf9932355a2499362bec5623f412e5ba276e9 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Sun, 17 Jul 2016 16:08:09 -0400 Subject: [PATCH 03/30] Incremented version --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9903607..38d8120 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,8 +7,8 @@ cmake_minimum_required (VERSION 2.6) # Set the OpenALPR version in cmake, and also add it as a DEFINE for the code to access SET(OPENALPR_MAJOR_VERSION "2") -SET(OPENALPR_MINOR_VERSION "2") -SET(OPENALPR_PATCH_VERSION "4") +SET(OPENALPR_MINOR_VERSION "3") +SET(OPENALPR_PATCH_VERSION "0") SET(OPENALPR_VERSION ${OPENALPR_MAJOR_VERSION}.${OPENALPR_MINOR_VERSION}.${OPENALPR_PATCH_VERSION}) add_definitions( -DOPENALPR_MAJOR_VERSION=${OPENALPR_MAJOR_VERSION}) From 426d863f90425aa2c1856acc621d7a469358d0b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bryon=20Gloden=2C=20CISSP=C2=AE?= Date: Tue, 19 Jul 2016 16:31:15 -0400 Subject: [PATCH 04/30] Update daemon.cpp [../openalpr-master/src/daemon.cpp:213]: (error) Memory leak: thread_upload [../openalpr-master/src/daemon.cpp:216]: (error) Memory leak: thread_recognize Found by https://github.com/bryongloden/cppcheck --- src/daemon.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/daemon.cpp b/src/daemon.cpp index 41c2970..f96a695 100644 --- a/src/daemon.cpp +++ b/src/daemon.cpp @@ -211,10 +211,10 @@ int main( int argc, const char** argv ) udata->upload_url = daemon_config.upload_url; tthread::thread* thread_upload = new tthread::thread(dataUploadThread, (void*) udata ); } - + delete(thread_upload); break; } - + delete(thread_recognize); // Parent process will continue and spawn more children } From 2631c14c081fd8a7532ae0c77c23ca76c970c35e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bryon=20Gloden=2C=20CISSP=C2=AE?= Date: Thu, 21 Jul 2016 14:08:35 -0400 Subject: [PATCH 05/30] Update daemon.cpp Sorry @matthill ! Although I made that change in https://github.com/openalpr/openalpr/pull/382 , I didn't test the library locally. This new fix is building, and it is working when I test the library using: wget http://i.imgur.com/pjukRD0.jpg -O lp.jpg alpr lp.jpg --- src/daemon.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/daemon.cpp b/src/daemon.cpp index f96a695..1703eea 100644 --- a/src/daemon.cpp +++ b/src/daemon.cpp @@ -210,11 +210,11 @@ int main( int argc, const char** argv ) UploadThreadData* udata = new UploadThreadData(); udata->upload_url = daemon_config.upload_url; tthread::thread* thread_upload = new tthread::thread(dataUploadThread, (void*) udata ); + delete(thread_upload); } - delete(thread_upload); + delete(thread_recognize); break; } - delete(thread_recognize); // Parent process will continue and spawn more children } From 207f0726774f55e45abebbdaa981fe75650c3b93 Mon Sep 17 00:00:00 2001 From: Mark Theunissen Date: Sun, 31 Jul 2016 11:34:44 +0200 Subject: [PATCH 06/30] Typo img_witdh should be width --- src/bindings/go/libopenalprgo.so | Bin 0 -> 41004 bytes src/bindings/go/openalpr/openalpr.go | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100755 src/bindings/go/libopenalprgo.so diff --git a/src/bindings/go/libopenalprgo.so b/src/bindings/go/libopenalprgo.so new file mode 100755 index 0000000000000000000000000000000000000000..0baff3455e749d1e304daf91aa56f46f6fd706d1 GIT binary patch literal 41004 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 HxMBPUBAD5M literal 0 HcmV?d00001 diff --git a/src/bindings/go/openalpr/openalpr.go b/src/bindings/go/openalpr/openalpr.go index 5adf8fb..b2b1e5f 100644 --- a/src/bindings/go/openalpr/openalpr.go +++ b/src/bindings/go/openalpr/openalpr.go @@ -22,7 +22,7 @@ type Alpr struct { type AlprResults struct { EpochTime int64 `json:"epoch_time"` - ImgWidth int `json:"img_witdh"` + ImgWidth int `json:"img_width"` ImgHeight int `json:"img_height"` TotalProcessingTimeMs float32 `json:"processing_time_ms"` Plates []AlprPlateResult `json:"results"` From 7c0c50a00f5cf442de01a70de52c9f485cf35df4 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Fri, 5 Aug 2016 09:16:39 -0400 Subject: [PATCH 07/30] Added france country training --- runtime_data/config/fr.conf | 50 ++++++++++++++++++++++ runtime_data/ocr/tessdata/lfr.traineddata | Bin 0 -> 317940 bytes 2 files changed, 50 insertions(+) create mode 100644 runtime_data/config/fr.conf create mode 100644 runtime_data/ocr/tessdata/lfr.traineddata diff --git a/runtime_data/config/fr.conf b/runtime_data/config/fr.conf new file mode 100644 index 0000000..62cc679 --- /dev/null +++ b/runtime_data/config/fr.conf @@ -0,0 +1,50 @@ +; One-line European style plates + +; 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.2 +segmentation_min_box_width_px = 5 +segmentation_min_charheight_percent = 0.4; +segmentation_max_segment_width_percent_vs_average = 2.0; + +plate_width_mm = 520 +plate_height_mm = 110 + +multiline = 0 + +char_height_mm = 80 +char_width_mm = 53 +char_whitespace_top_mm = 10 +char_whitespace_bot_mm = 10 + +template_max_width_px = 184 +template_max_height_px = 46 + +; 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 = 18 + +; Results with fewer or more characters will be discarded +postprocess_min_characters = 5 +postprocess_max_characters = 8 + +detector_file = eu.xml + +ocr_language = lfr + +; 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 = auto diff --git a/runtime_data/ocr/tessdata/lfr.traineddata b/runtime_data/ocr/tessdata/lfr.traineddata new file mode 100644 index 0000000000000000000000000000000000000000..1ef6bf72c0c4de365a1d62e5a2b925e6173abf70 GIT binary patch literal 317940 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�_R~pX~b>GWK-3} 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 literal 0 HcmV?d00001 From bf5b1849e230ae851505a0fa427363d1d64c35ac Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Mon, 8 Aug 2016 15:36:19 -0400 Subject: [PATCH 08/30] Scaling the minimum detector size defeats the purpose of resizing the image --- src/openalpr/detection/detector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openalpr/detection/detector.cpp b/src/openalpr/detection/detector.cpp index b635ef3..156e640 100644 --- a/src/openalpr/detection/detector.cpp +++ b/src/openalpr/detection/detector.cpp @@ -121,7 +121,7 @@ namespace alpr float maxWidth = ((float) w) * (config->maxPlateWidthPercent / 100.0f) * scale_factor; float maxHeight = ((float) h) * (config->maxPlateHeightPercent / 100.0f) * scale_factor; - Size minPlateSize(config->minPlateSizeWidthPx * scale_factor, config->minPlateSizeHeightPx * scale_factor); + Size minPlateSize(config->minPlateSizeWidthPx, config->minPlateSizeHeightPx); Size maxPlateSize(maxWidth, maxHeight); vector allRegions = find_plates(cropped, minPlateSize, maxPlateSize); From cd2aab098fcd268912840cc66aa9a2254683eb90 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Thu, 18 Aug 2016 08:33:14 -0400 Subject: [PATCH 09/30] Tracking and deleting thread pointers --- src/daemon.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/daemon.cpp b/src/daemon.cpp index 1703eea..42c6206 100644 --- a/src/daemon.cpp +++ b/src/daemon.cpp @@ -183,6 +183,8 @@ int main( int argc, const char** argv ) pid_t pid; + std::vector threads; + for (int i = 0; i < daemon_config.stream_urls.size(); i++) { pid = fork(); @@ -203,6 +205,7 @@ int main( int argc, const char** argv ) tdata->clock_on = clockOn; tthread::thread* thread_recognize = new tthread::thread(streamRecognitionThread, (void*) tdata); + threads.push_back(thread_recognize); if (daemon_config.uploadData) { @@ -210,21 +213,21 @@ int main( int argc, const char** argv ) UploadThreadData* udata = new UploadThreadData(); udata->upload_url = daemon_config.upload_url; tthread::thread* thread_upload = new tthread::thread(dataUploadThread, (void*) udata ); - delete(thread_upload); + threads.push_back(thread_upload); } - delete(thread_recognize); + break; } // Parent process will continue and spawn more children } - - while (daemon_active) - { - usleep(30000); - } + alpr::sleep_ms(30); + for (uint16_t i = 0; i < threads.size(); i++) + delete threads[i]; + + return 0; } From 99f99842c87f0b74f45618ddbc512fb088b75ecb Mon Sep 17 00:00:00 2001 From: Adnan RIHAN Date: Wed, 7 Sep 2016 16:19:04 +0200 Subject: [PATCH 10/30] Added read from piped standard input support --- src/main.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index eddd020..ebd5415 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -145,7 +145,27 @@ int main( int argc, const char** argv ) { std::string filename = filenames[i]; - if (filename == "stdin") + if (filename == "-") + { + std::vector data; + int c; + + while ((c = fgetc(stdin)) != EOF) + { + data.push_back((uchar) c); + } + + frame = cv::imdecode(cv::Mat(data), 1); + if (!frame.empty()) + { + detectandshow(&alpr, frame, "", outputJson); + } + else + { + std::cerr << "Image invalid: " << filename << std::endl; + } + } + else if (filename == "stdin") { std::string filename; while (std::getline(std::cin, filename)) From df63af1a9face8fb12619abc7b60a59cec152ab0 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Fri, 16 Sep 2016 13:13:33 -0400 Subject: [PATCH 11/30] Updated doc --- doc/source/web_server.rst | 122 +++++++++++++------------------------- 1 file changed, 40 insertions(+), 82 deletions(-) diff --git a/doc/source/web_server.rst b/doc/source/web_server.rst index 286be24..6967802 100644 --- a/doc/source/web_server.rst +++ b/doc/source/web_server.rst @@ -9,7 +9,7 @@ OpenALPR Web Server Requirements ================ -OpenALPR monitors video streams in real-time to gather all license plates seen by your cameras. This data is browsable, searchable, and can trigger alerts. The Web server can be available either: +OpenALPR monitors video streams in real-time to gather all license plates seen by your cameras. This data is browsable, searchable, and can trigger alerts. The Web server is available either: #. In the cloud #. Installed On-Premises within your network @@ -21,41 +21,58 @@ In order to get started, you will need: 1. An IP camera capable of serving MJPEG or H264 video 2. A computer (Intel i5 or better) with network access to the IP camera. This will be your OpenALPR Agent. -First, configure your IP camera to capture the area that you wish to monitor. The camera must be capable of capturing a clear image of the license plate in order for OpenALPR to properly identify the numbers. You may want to experiment with different angles, optical zoom levels, and resolutions to get the best image quality. A straight-on shot of the license plate is best, but OpenALPR can work with shots at an angle if necessary. +First, configure your IP camera to capture the area that you wish to monitor. The camera must be capable of capturing a clear image of the license plate in order for OpenALPR to properly identify the numbers. You may want to experiment with different angles, optical zoom levels, and resolutions to get the best image quality. A straight-on shot of the license plate is best, but that is usually not possible, so OpenALPR can work with shots at an angle. Try to angle the camera so that the plate is clearly visible, and the vehicle is seen for as long as possible. -Once your camera is setup, make sure that it has an IP address and that you can connect to the MJPEG or H264 stream. Some cameras support arguments in the URL to control resolution, frame-rate, etc. The Firefox web browser has the best MJPEG support among major browsers. Type in the MJPEG or H264 stream URL to Firefox and you should be able to clearly see your video. Some users reduce the frames per second (fps) of their video feed in order to reduce the stream bandwidth. Fifteen frames per second is usually more than sufficient to capture passing vehicles from a fixed-camera. +Once your camera is setup, make sure that it has an IP address and that you can connect to the MJPEG or H264 stream. A useful, free utility for testing the video URL is `VLC Media Player `_. You can test your video URL by selecting File -> Open Media Stream. Type in the MJPEG or H264 stream URL and you should be able to clearly see your video. + +Some cameras support arguments in the URL to control resolution, frame-rate, etc. You may reduce the frames per second (fps) of the video feed in order to reduce the stream bandwidth. Fifteen frames per second is usually more than sufficient to capture passing vehicles from a fixed-camera. The resolution also should not be too high. A resolution of 720p is generally sufficient for capturing license plates as long as the plate characters are legible. Higher resolution often results in longer processing time without a gain in accuracy. Architecture ============= -.. image:: images/webserver_architecture.png - :scale: 100% - :alt: OpenALPR Web Server Architecture +The OpenALPR agent reads a video stream from your IP camera, processes it, and uploads plate metadata to the OpenALPR web server. The agent also stores all of the plate images in a rolling buffer on the hard drive. +There is a constant stream of data flowing between the camera and the agent as well as between the agent and the web server. The data sent to the cloud is relatively low-bandwidth because it contains text metadata describing the license plates. The OpenALPR Web Server does not store your plate images, these are downloaded directly from the agent when you select a plate to view from the web server. -As depicted in the diagram above, the OpenALPR agent reads a video stream from your IP camera, processes it, and uploads plate metadata to the OpenALPR web server. The agent also stores all of the plate images on a rolling buffer in its hard drive. - -There is a constant stream of data flowing between the camera and the agent as well as between the agent and the cloud. The data sent to the cloud is relatively low-bandwidth because it contains text metadata describing the license plates, and not the images. OpenALPR Cloud does not store your plate images, these are downloaded directly from the agent when you select a plate to view from the web server. - -Installation +OpenALPR Agent =============================== -The OpenALPR web server and the :ref:`OpenALPR agent ` is installed as either a Virtual Machine (VM) or natively on 64-bit Ubuntu Linux 14.04. +The OpenALPR Agent is a service that runs as a background task on your PC. The agent analyzes video streams from one or more IP cameras and finds the license plates for the vehicles that pass by the camera. We recommend a dedicated PC for the agent due to the amount of CPU used during processing; however, it can be installed on any machine. The plate numbers may be kept completely within your network (on the On-Premise web server), or sent to the OpenALPR Cloud. -We recommend installing natively on Linux, since this provides higher performance and excellent reliability. Running a VM on Windows is recommended for evaluations. + * If you wish to use the OpenALPR Cloud to store your data, first `sign-up for an account `_. + * If you wish to use the On-Premises web server, request an evaluation key from `info@openalpr.com `_ and install the Web Server using the Linux Installer instructions below. + +Windows Installer +------------------ + + 1. Download the `OpenALPR Windows Installer `_ + 2. Install the program onto your PC + 3. Start the "Configure OpenALPR" program after the install completes + 4. Depending on how you wish to use the OpenALPR agent, you may choose one of four radio buttons + + .. image:: images/agent-windows-config.png + :scale: 100% + :alt: Windows Agent Configuration + a. **OpenALPR Cloud** - Type in the E-mail address and password that you used to sign-up for the OpenALPR Cloud Service + b. **OpenALPR On-Premises Web Server** -- Type in the URL of the on-premises web server and the e-mail address / password of the master account + c. **Generic HTTP URL** -- Used for :ref:`Integrating other applications with the OpenALPR Agent `. + d. **Local Queue** -- Another method for :ref:`Integrating other applications with the OpenALPR Agent `. -Linux Installation + You have now successfully connected the OpenALPR Agent with the OpenALPR web server. All configuration / management is performed centrally on the OpenALPR web server. The next step is to :ref:`configure the agent and add video streams to monitor ` + + +Linux Installer ---------------------- -Download the Ubuntu 14.04 64-bit install DVD image and burn to a DVD: +Download the Ubuntu 16.04 64-bit install DVD image and burn to a DVD: - - http://releases.ubuntu.com/14.04/ubuntu-14.04.4-desktop-amd64.iso + - http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso -Follow this installation guide to install Ubuntu 14.04 64-bit: +Follow this installation guide to install Ubuntu 16.04 64-bit: - - http://howtoubuntu.org/how-to-install-ubuntu-14-04-trusty-tahr + - http://www.ubuntu.com/download/desktop/install-ubuntu-desktop Run the following command from the terminal: @@ -68,72 +85,13 @@ Run the following command from the terminal: :scale: 100% :alt: OpenALPR VM installation step 4 -- Choose the options for what you wish to install. +- Choose one of the following: - - If you want to connect the agent to the OpenALPR Cloud, just choose "install agent". - - If you wish to host the data on the VM (On-Premises configuration) choose "install webserver" + - To connect the agent to the OpenALPR Cloud, just choose "install agent". + - To host the data on your own web server (On-Premises configuration) choose "install webserver" -Virtual Machine Installation ---------------------------------- -The OpenALPR Virtual Machine (VM) installs in a few minutes and can run on any operating system (e.g., Windows, Linux, Mac OS X). Installing a VM on a datacenter-class server (such as VMware ESXi or Citrix XenServer) is considered production-grade. Installing on a desktop system (e.g., VirtualBox on Windows 10) works well for evaluation, but we recommend installing it directly on Linux for longer-term usage. - -The OpenALPR VM comes pre-installed with the OpenALPR agent. The on-premesis web server can also be installed on this VM as well if you wish. When the web-server is installed, then all OpenALPR processing and storage is maintained inside the VM and no data is sent to the cloud. - -- Start downloading the `latest OpenALPR Virtual Machine `_. -- Download and install the `VirtualBox installer `_ for your operating system. The OpenALPR VM will also work with other hypervisors such as VMware or Xen if you prefer to use one of those. We are recommendeding VirtualBox because it is free. -- Open VirtualBox and choose File → Import Appliance -- Choose the openalpr.ova file downloaded in step #1 -- Accept the default memory and CPU settings and click "Import" - -.. image:: images/webserver_vminstall1.png - :scale: 100% - :alt: OpenALPR VM installation step 1 - -- Select the openalpr-agent-vm and click "Start" - -- The VM should boot up quickly and provide you with a login prompt. Login with the default credentials: - - Username: admin - - Password: admin - -- You should see a menu like the one below. Use the up/down, tab, and enter keys to navigate the menu. - -.. image:: images/webserver_vminstall2.png - :scale: 100% - :alt: OpenALPR VM installation step 2 - -- First setup the network by choosing **Network** → **eth0**. - - Select either DHCP or static depending on your LAN configuration - - Select Network → Test and make sure that you can successfully ping www.google.com - -.. image:: images/webserver_vminstall3.png - :scale: 100% - :alt: OpenALPR VM installation step 3 - -- Select **Upgrade** from the main menu. The OpenALPR software is updated more frequently than the VM, there may be updates available. - -- Optionally, select **Password** from the main menu to change your password to something more secure. - -- Next select **Register** from the main menu. Choose where you wish to send data. You can send data to the OpenALPR Cloud, host the data on the OpenALPR Web - server on the same VM, or send the data to another server. - -.. image:: images/webserver_vmregister1.png - :scale: 100% - :alt: OpenALPR VM Registration step 1 - -- Type in your credentials (e-mail address and password) and select **OK** - -.. image:: images/webserver_vmregister2.png - :scale: 100% - :alt: OpenALPR VM Registration step 2 - -- If registration is successful, you will see a success message. - -.. image:: images/webserver_vmregister2.png - :scale: 100% - :alt: OpenALPR VM Registration step 2 - -- The rest of the configuration is managed via the OpenALPR web server. Login to the OpenALPR web server to configure your agent. +.. _agent_configuration: Configuration =============================== @@ -171,7 +129,7 @@ Configuration :scale: 100% :alt: OpenALPR VM installation step 4 -- Lastly, if you scroll to the bottom of the page you can watch the agent status. At this point you should see **Video FPS** and other information indicating that video is being pulled from the camera and license plates are being recognized. Now that the agent is configured, it will continue collecting data from the configured video streams. If the agent is rebooted, the OpenALPR agent will automatically start. If the camera goes down and comes back, or the network is down temporarily, the agent will retry until connectivity is restored. All results are queued, so no data is lost in the event of an outage. +- Lastly, if you scroll to the bottom of the page you can watch the agent status. You should now see **Video FPS** and other information indicating that video is being pulled from the camera and license plates are being recognized. Now that the agent is configured, it will continue collecting data from the configured video streams. If the agent is rebooted, the OpenALPR agent will automatically start. If the camera goes down and comes back, or the network is down temporarily, the agent will retry until connectivity is restored. All results are queued, so no data is lost in the event of an outage. .. image:: images/webserver_vminstall7.png :scale: 100% From b6a46efafeff467e4ac54a305579698470bd169d Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Fri, 16 Sep 2016 22:16:10 -0400 Subject: [PATCH 12/30] Added initial trained plate data for Brazil --- runtime_data/config/br.conf | 46 ++ runtime_data/ocr/tessdata/lbr.traineddata | Bin 0 -> 349162 bytes runtime_data/region/br.xml | 864 ++++++++++++++++++++++ 3 files changed, 910 insertions(+) create mode 100644 runtime_data/config/br.conf create mode 100644 runtime_data/ocr/tessdata/lbr.traineddata create mode 100644 runtime_data/region/br.xml diff --git a/runtime_data/config/br.conf b/runtime_data/config/br.conf new file mode 100644 index 0000000..6b8bdbb --- /dev/null +++ b/runtime_data/config/br.conf @@ -0,0 +1,46 @@ +; 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 = 63 +char_width_mm = 54 +char_whitespace_top_mm = 20 +char_whitespace_bot_mm = 10 + +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 = 22 + +; 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 = auto \ No newline at end of file diff --git a/runtime_data/ocr/tessdata/lbr.traineddata b/runtime_data/ocr/tessdata/lbr.traineddata new file mode 100644 index 0000000000000000000000000000000000000000..dd82f9da4e9c79ec7017c2a5e10ac16ba97891ab GIT binary patch literal 349162 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 wj!^GSE0^M&dsqxx1(JcHud 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ν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 + + + BOOST + LBP + 15 + 42 + + GAB + 9.9500000476837158e-001 + 4.4999998807907104e-001 + 9.4999999999999996e-001 + 1 + 100 + + 256 + 1 + 12 + + + <_> + 5 + -1.1964071989059448e+000 + + <_> + + 0 -1 27 33554640 -544140968 335549945 -36106215 411081210 + -1080391544 -1904170241 -1146615160 + + -8.7927925586700439e-001 4.5667687058448792e-001 + <_> + + 0 -1 46 268439760 -149874312 -787376161 2136282581 + -1341588998 -74904568 -1147422273 -1087694101 + + -7.4128758907318115e-001 6.2185472249984741e-001 + <_> + + 0 -1 23 2063649016 -16776512 -1996449315 499122204 + -1979156230 -553615232 -1182229505 -1442185074 + + -6.3709861040115356e-001 5.8977502584457397e-001 + <_> + + 0 -1 52 -212868606 1348317263 16941312 420457119 1930663298 + 16974338 1912834571 1433391899 + + -6.7505764961242676e-001 5.4119122028350830e-001 + <_> + + 0 -1 41 486858964 1469124816 -1861074663 358547473 545294474 + -1635778430 155844751 135397416 + + -6.9977498054504395e-001 5.2006703615188599e-001 + + <_> + 5 + -2.1282923221588135e+000 + + <_> + + 0 -1 25 -251604776 -105623336 -1694461443 -552251119 + -1199525378 -68681576 -1693934849 -1078329208 + + -7.9207307100296021e-001 4.9837976694107056e-001 + <_> + + 0 -1 7 -489754998 -523610645 -805306358 -464338290 + 1363329094 1912799241 -242814290 -202637313 + + -7.3869293928146362e-001 5.0647658109664917e-001 + <_> + + 0 -1 34 268436496 -4500735 1124161021 1610422745 -1195341590 + -88436599 1034599103 -1615198056 + + -7.0634657144546509e-001 5.5851876735687256e-001 + <_> + + 0 -1 26 152050904 -1626793426 520040083 1064644409 + -805556338 -1895481457 803082159 -1960892961 + + -5.7692325115203857e-001 6.4515799283981323e-001 + <_> + + 0 -1 69 -5268760 1056194492 1073228320 939276990 1563737564 + 7618428 2138838509 -1058 + + -5.7912176847457886e-001 6.2656235694885254e-001 + + <_> + 5 + -1.2153034210205078e+000 + + <_> + + 0 -1 79 -2099454 -213387773 -720919680 -236986337 -705961726 + 1261052035 -507250046 -201327633 + + -7.9298692941665649e-001 4.3366092443466187e-001 + <_> + + 0 -1 58 -69404420 991736520 898669296 1001654972 1005103612 + 1017643188 999828188 -1073742849 + + -7.1880286931991577e-001 4.0782269835472107e-001 + <_> + + 0 -1 43 152344528 -2345596 -1642998019 -5289827 -1140274994 + -274088968 -1699681541 530055560 + + -6.6628736257553101e-001 4.2626336216926575e-001 + <_> + + 0 -1 21 -521672154 -1539185074 -399712118 -1026585944 + -693112081 1371607070 1919870975 -976750009 + + -6.2678498029708862e-001 4.7574332356452942e-001 + <_> + + 0 -1 54 5368 -3001869 1929482713 -573353515 -1182585922 + -1145423628 277580799 -1143470376 + + -5.9900951385498047e-001 4.9700802564620972e-001 + + <_> + 6 + -1.6343758106231689e+000 + + <_> + + 0 -1 81 -268439806 -1061424645 -1051731968 -923869537 + -673186047 319918595 -76553472 -134217737 + + -8.4519118070602417e-001 2.9262334108352661e-001 + <_> + + 0 -1 6 -271581489 552533247 -913115230 -152109057 + -1100516769 1951553085 -147066289 -134217729 + + -6.5731948614120483e-001 4.7886639833450317e-001 + <_> + + 0 -1 61 -424679934 -2135696350 -1064909688 -1039144222 + -1033636095 1879724546 -950025626 1383584391 + + -6.5842622518539429e-001 4.2747709155082703e-001 + <_> + + 0 -1 31 364707580 -2313219 1459444475 -40509955 1067040767 + -1076043270 2141102079 -1614016548 + + -5.4566150903701782e-001 4.9507161974906921e-001 + <_> + + 0 -1 32 -4210 2042164222 -1364713272 -1090622466 -248024 + 90454015 2142631304 2012735407 + + -5.0535798072814941e-001 5.7926094532012939e-001 + <_> + + 0 -1 42 -272634262 1674547575 -230414848 1926751170 + 1136753934 18043187 -134237370 -134744065 + + -5.4905587434768677e-001 5.1677316427230835e-001 + + <_> + 7 + -1.3040487766265869e+000 + + <_> + + 0 -1 85 -6 -1092881522 -116944536 -608442369 -79692611 + 1392745099 -71327504 -1 + + -7.5137650966644287e-001 3.0487805604934692e-001 + <_> + + 0 -1 59 8394097 -1648664581 -12853761 -190627 -1095910689 + -5519106 -1411646469 1068250857 + + -7.1090817451477051e-001 3.0994907021522522e-001 + <_> + + 0 -1 48 -1065107454 -755501174 -644876145 -721429601 + 1737490415 -1095776374 -243277074 -1066408406 + + -5.2537465095520020e-001 4.9692764878273010e-001 + <_> + + 0 -1 37 489692592 -532503 2134751987 -57543 2121538286 + -268473633 987443707 -1078445932 + + -5.6469845771789551e-001 4.6643844246864319e-001 + <_> + + 0 -1 4 -288428530 -488127602 -936853362 1657971354 + 1162233349 1662814275 1439628352 -159383553 + + -5.4325199127197266e-001 5.0862145423889160e-001 + <_> + + 0 -1 50 -84941142 -1428640936 992191108 -2015943412 + 1343344792 6561867 1733276937 1879048191 + + -6.1056977510452271e-001 4.0385618805885315e-001 + <_> + + 0 -1 18 682492992 -33616389 -1743981569 -1074896010 + -55597153 -69621393 -1077527554 -1361049600 + + -6.5545457601547241e-001 4.0622577071189880e-001 + + <_> + 6 + -1.8971043825149536e+000 + + <_> + + 0 -1 80 -209 -943720449 -1073743070 -356515841 -185 + -352322561 -251 -33 + + -7.6774191856384277e-001 2.1585431694984436e-001 + <_> + + 0 -1 13 262146142 -1615945912 -16859653 -19252516 + -1092928001 -263169 -1392645 -273765460 + + -6.8867766857147217e-001 3.1720376014709473e-001 + <_> + + 0 -1 10 -268439833 45014767 -1098973498 -385941761 + 1996445559 1702066015 -50333705 -151027713 + + -6.2687981128692627e-001 3.8451772928237915e-001 + <_> + + 0 -1 44 822084689 -167 -98305 -134816802 -1140942341 -65671 + 1041842171 1050426744 + + -6.9191658496856689e-001 3.4533604979515076e-001 + <_> + + 0 -1 57 1039666588 -46336131 1039982577 -539107331 + -1886617604 -67077 -21037059 -1342688080 + + -6.2124317884445190e-001 3.6634594202041626e-001 + <_> + + 0 -1 83 -268439769 -504411265 -213190396 -522257938 + -19156145 587120478 -67666400 -452987017 + + -5.2548694610595703e-001 4.3296870589256287e-001 + + <_> + 8 + -1.4160413742065430e+000 + + <_> + + 0 -1 8 -4353 -251726113 -680272417 -3073 -525313 -135046693 + -13631489 -1 + + -6.8693995475769043e-001 4.6981132030487061e-001 + <_> + + 0 -1 84 -1048797 -1343251650 -6554336 -874580482 -46140602 + 483391647 -73925372 -134217729 + + -5.7858788967132568e-001 3.9658361673355103e-001 + <_> + + 0 -1 67 -3108 -1078984556 -1894903368 -1146831128 + -1101250568 1050689457 1304181724 -65 + + -4.7325024008750916e-001 4.3673580884933472e-001 + <_> + + 0 -1 40 -991705598 -143141023 -14777081 -194513152 998221582 + -890550767 -160958636 1080542983 + + -5.7411575317382813e-001 3.5344249010086060e-001 + <_> + + 0 -1 56 520097048 2142524380 991936509 -12611107 1022119118 + -1074042628 1538060215 -623231992 + + -5.6550782918930054e-001 3.9947867393493652e-001 + <_> + + 0 -1 64 -1073510910 -134485969 -38068901 -8402467 2136994489 + -68236422 -143131909 -1018170845 + + -4.6683305501937866e-001 4.2769363522529602e-001 + <_> + + 0 -1 15 -1566382153 -67108865 2147483639 -2049 -2097793 + -285212673 -268443713 -1464906351 + + -3.6367681622505188e-001 5.7400894165039063e-001 + <_> + + 0 -1 35 -5243010 1069055996 2147281896 1542733820 935084029 + 800866173 805189612 -5570641 + + -4.3467071652412415e-001 4.7078517079353333e-001 + + <_> + 9 + -1.6374719142913818e+000 + + <_> + + 0 -1 16 -537206785 -76421 -8724481 1071529598 -268500993 + -257 -72351749 -69633 + + -7.1031987667083740e-001 3.1934031844139099e-001 + <_> + + 0 -1 70 8388945 -1607715 -53487619 -42268164 -1413742931 + -84153893 -1179124737 -1346762245 + + -5.9262335300445557e-001 2.8971078991889954e-001 + <_> + + 0 -1 9 -286331154 -823145553 -833684562 -294717745 + 1664575334 1685316899 -741618937 -136839425 + + -6.2391364574432373e-001 2.9032164812088013e-001 + <_> + + 0 -1 1 1939920638 -12271946 -1410405509 -167899142 + -469893121 -350748931 2146385919 -1116856358 + + -4.1564238071441650e-001 4.6040636301040649e-001 + <_> + + 0 -1 63 -805520964 -1344512536 1438651260 1066145520 + -1820574212 699150588 1069300220 -8194 + + -5.4733866453170776e-001 3.5721898078918457e-001 + <_> + + 0 -1 73 -494149630 -608193211 1461044998 1272968018 + -332465169 -1652948809 1984915439 1085273802 + + -5.0174319744110107e-001 3.6186811327934265e-001 + <_> + + 0 -1 78 -302039539 14668062 -845414419 1627028415 -102896891 + -608186118 -87434940 -251723977 + + -4.7290304303169250e-001 3.6363539099693298e-001 + <_> + + 0 -1 68 -1070865406 -762583258 -101933826 -101779222 + 38782490 -303371058 -1609673140 1347413639 + + -5.6219518184661865e-001 3.1412795186042786e-001 + <_> + + 0 -1 38 1064582228 -1089169512 928570847 -2198115 -108777227 + -79856407 2129417214 800859388 + + -7.3133337497711182e-001 2.4801188707351685e-001 + + <_> + 8 + -1.8234205245971680e+000 + + <_> + + 0 -1 3 -2097153 83815999 -8403969 -9557 -206571521 + 1454242303 -69238785 -8225 + + -7.1463465690612793e-001 2.9166665673255920e-001 + <_> + + 0 -1 17 -2145237131 -134276737 -6291969 -559235 -86247425 + -12342 -1349612545 -2052657513 + + -5.0566565990447998e-001 3.5669702291488647e-001 + <_> + + 0 -1 30 120589360 1069355888 479631615 -1226318383 + 1002208941 -1344278767 -18046981 -1087731792 + + -6.4467704296112061e-001 2.7640771865844727e-001 + <_> + + 0 -1 82 -1048785 -520356883 -822346484 -154212657 -2163161 + 1232586879 -76552704 -51380737 + + -4.6251305937767029e-001 3.8494673371315002e-001 + <_> + + 0 -1 60 81 -2128467 -536914953 -1614824459 -1161380866 + -868613 -1096094209 191108580 + + -7.6596713066101074e-001 2.4397127330303192e-001 + <_> + + 0 -1 45 -327422430 728758639 -692220416 44825576 1962552635 + 1095458901 -134497596 -504365057 + + -4.9973216652870178e-001 3.5576689243316650e-001 + <_> + + 0 -1 36 -69634 536654751 -1481853256 769171288 -554929700 + 215240917 2078055416 -3073 + + -4.6382182836532593e-001 3.6913102865219116e-001 + <_> + + 0 -1 28 -2134899328 -1076069674 -40060929 -538978361 + -34107425 -742405734 -1376145937 -186503804 + + -5.3038501739501953e-001 3.4481102228164673e-001 + + <_> + 9 + -1.5226694345474243e+000 + + <_> + + 0 -1 20 -1 868219551 -1783114497 -1277175329 -89138433 + -1142306145 -415501313 -201334785 + + -6.6262781620025635e-001 3.8611924648284912e-001 + <_> + + 0 -1 77 -83887354 1610601485 -1762140161 2147474395 + -335544949 -89423810 -608437509 -773324817 + + -4.2958390712738037e-001 4.4379019737243652e-001 + <_> + + 0 -1 76 1218683906 -239868736 -1010053602 -775169798 + -529929334 619930410 -7353394 1376764738 + + -5.4015022516250610e-001 2.9880195856094360e-001 + <_> + + 0 -1 5 -17 -319817010 2074527214 -355533978 -1215635841 + 1949296419 -1242053199 -176195757 + + -5.1664298772811890e-001 3.1505548954010010e-001 + <_> + + 0 -1 62 -492638688 -2146775931 -920780280 130112970 + -212668082 20972098 1460109574 1463287799 + + -6.2145501375198364e-001 2.7485108375549316e-001 + <_> + + 0 -1 22 -11252519 1073247571 -495917601 905328276 -623352900 + -8238208 -1227228929 -560137000 + + -4.1788932681083679e-001 3.9505812525749207e-001 + <_> + + 0 -1 71 490445840 894628093 -382633991 -69207205 -826577940 + -808527105 1865165268 476542368 + + -5.9434819221496582e-001 2.7289205789566040e-001 + <_> + + 0 -1 49 -995146718 122668331 -1070579422 -1836127973 + 1180615783 1295172115 -500570430 -792999173 + + -5.2968615293502808e-001 3.0335524678230286e-001 + <_> + + 0 -1 66 -1073029118 -174069346 -1316498529 -1087647654 + -332402737 -32783558 1653533115 1073865354 + + -5.8427923917770386e-001 2.7470675110816956e-001 + + <_> + 10 + -1.8655816316604614e+000 + + <_> + + 0 -1 19 -1 1005582303 -40509953 -10241 -268443905 -69223937 + -140515841 -67108865 + + -6.2193822860717773e-001 5.9463489055633545e-001 + <_> + + 0 -1 11 -16784145 -660675861 -665172738 -54894369 1198416799 + -260879642 1808782335 -25501697 + + -4.4034096598625183e-001 3.7371170520782471e-001 + <_> + + 0 -1 53 -8602180 1062481780 -1814010156 1037571032 + 1004280824 989607704 2079078908 2147483133 + + -6.7309290170669556e-001 2.3404814302921295e-001 + <_> + + 0 -1 74 -275072578 1045181254 1332227640 1067825048 + 796670684 1055918217 930622460 2113928191 + + -5.6065100431442261e-001 2.5880596041679382e-001 + <_> + + 0 -1 86 -617882192 -878848038 -1950097616 -244330091 + -1696597099 -1868375179 -1206958988 -1040976940 + + -4.3073269724845886e-001 3.5705247521400452e-001 + <_> + + 0 -1 33 -610549046 -750139765 2789376 1502196119 1347791000 + -1259255935 1397025241 -581964801 + + -3.8642928004264832e-001 3.8220575451850891e-001 + <_> + + 0 -1 29 827370992 924786388 -679363499 1932996677 -43610385 + 471730452 1407714283 2359840 + + -6.4638030529022217e-001 2.2863811254501343e-001 + <_> + + 0 -1 75 -595650047 1610053947 -647013903 -38592717 + -818039473 -625225549 -37343608 -1967491763 + + -4.2762732505798340e-001 3.5982194542884827e-001 + <_> + + 0 -1 65 1987308322 1649402922 849080392 -1158627069 + 2027388751 36373761 1879819463 1124065075 + + -6.7788040637969971e-001 2.1414722502231598e-001 + <_> + + 0 -1 2 -427675985 -941632058 -799193361 -221927446 + 1160970551 996040775 -180625843 -524547 + + -3.8236486911773682e-001 3.9269205927848816e-001 + + <_> + 9 + -1.7969284057617187e+000 + + <_> + + 0 -1 0 -353372161 -11307 -549724161 -13632161 -1435501057 + -5528877 -637797377 -823140353 + + -6.6345411539077759e-001 3.0170097947120667e-001 + <_> + + 0 -1 12 -69734673 -19242774 -269161506 -363664166 -71050401 + -284728827 -555363457 -159907849 + + -4.7520682215690613e-001 3.2926595211029053e-001 + <_> + + 0 -1 24 -1082480130 1037862486 823143926 536657916 + 1565485821 1013461181 963582206 -327681 + + -4.8985585570335388e-001 3.1941899657249451e-001 + <_> + + 0 -1 47 -1154564304 461334451 -1619026669 -1208279245 + 2134846398 535768715 1258235395 727400238 + + -5.8336496353149414e-001 2.5464949011802673e-001 + <_> + + 0 -1 39 1073791488 -134749740 -653002785 1440794501 + -389049109 -275527441 -568335813 1073999906 + + -6.5436220169067383e-001 2.5468635559082031e-001 + <_> + + 0 -1 72 -1074089284 1607756196 -1852440328 1002180984 + 218905068 725361684 21764828 2147417085 + + -6.4595431089401245e-001 1.9577540457248688e-001 + <_> + + 0 -1 14 1340231294 -12781458 1313797591 907547224 2135034455 + -70612901 -83119617 -566036690 + + -5.0948709249496460e-001 2.7902123332023621e-001 + <_> + + 0 -1 55 -854948350 661434892 139116872 1388508965 1510468974 + 17247399 656499191 -146014721 + + -4.8669272661209106e-001 2.9277750849723816e-001 + <_> + + 0 -1 51 5136 -15150931 -212600865 -705203371 -1232339265 + -1685345637 516729851 777008044 + + -8.4291213750839233e-001 1.5331344306468964e-001 + + <_> + + 0 0 3 1 + <_> + + 0 1 12 1 + <_> + + 0 2 1 1 + <_> + + 0 2 2 4 + <_> + + 0 4 1 3 + <_> + + 0 5 2 1 + <_> + + 0 6 2 2 + <_> + + 0 7 1 2 + <_> + + 0 7 2 2 + <_> + + 0 8 1 1 + <_> + + 0 8 2 1 + <_> + + 0 8 2 2 + <_> + + 0 10 1 1 + <_> + + 0 11 11 1 + <_> + + 0 12 4 1 + <_> + + 1 0 2 1 + <_> + + 1 12 3 1 + <_> + + 2 0 2 1 + <_> + + 2 0 4 1 + <_> + + 2 1 1 3 + <_> + + 2 2 1 3 + <_> + + 2 2 2 3 + <_> + + 2 12 2 1 + <_> + + 2 12 6 1 + <_> + + 4 6 1 3 + <_> + + 4 12 12 1 + <_> + + 5 10 11 1 + <_> + + 5 11 10 1 + <_> + + 6 1 2 1 + <_> + + 6 2 10 1 + <_> + + 6 11 7 1 + <_> + + 8 12 7 1 + <_> + + 9 3 1 4 + <_> + + 9 6 8 2 + <_> + + 10 0 4 1 + <_> + + 10 9 1 2 + <_> + + 11 6 1 3 + <_> + + 11 11 9 1 + <_> + + 11 12 2 1 + <_> + + 12 0 1 3 + <_> + + 12 1 1 3 + <_> + + 12 2 8 1 + <_> + + 12 7 1 1 + <_> + + 12 12 9 1 + <_> + + 13 0 3 1 + <_> + + 14 7 1 1 + <_> + + 15 0 4 1 + <_> + + 15 10 9 1 + <_> + + 16 0 1 3 + <_> + + 16 4 1 1 + <_> + + 16 4 1 3 + <_> + + 17 0 1 1 + <_> + + 17 3 2 3 + <_> + + 17 9 2 2 + <_> + + 18 0 4 1 + <_> + + 18 4 1 1 + <_> + + 18 11 7 1 + <_> + + 20 12 3 1 + <_> + + 21 9 1 2 + <_> + + 22 0 4 1 + <_> + + 23 0 1 1 + <_> + + 23 2 1 3 + <_> + + 23 6 1 2 + <_> + + 23 9 1 2 + <_> + + 24 0 1 3 + <_> + + 24 6 2 1 + <_> + + 26 0 1 3 + <_> + + 27 6 1 3 + <_> + + 28 1 1 3 + <_> + + 28 6 1 3 + <_> + + 30 0 2 1 + <_> + + 30 12 4 1 + <_> + + 31 6 1 3 + <_> + + 32 1 1 3 + <_> + + 32 6 1 3 + <_> + + 33 0 3 1 + <_> + + 33 1 1 3 + <_> + + 39 0 1 2 + <_> + + 39 1 1 1 + <_> + + 39 1 1 3 + <_> + + 39 3 1 1 + <_> + + 39 3 1 3 + <_> + + 39 5 1 1 + <_> + + 39 6 1 1 + <_> + + 39 9 1 1 + <_> + + 39 9 1 2 + <_> + + 39 11 1 1 + From f23e4677a66f07b31dd25e586be42e27b344c50b Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Sat, 17 Sep 2016 11:28:59 -0400 Subject: [PATCH 13/30] Updated debian changelog to 2.3.0 --- distros/debian/changelog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/distros/debian/changelog b/distros/debian/changelog index 33c9cef..9dadc20 100644 --- a/distros/debian/changelog +++ b/distros/debian/changelog @@ -1,3 +1,12 @@ +openalpr (2.3.0-1) unstable; urgency=low + + * Added plate detection mask and prewarp config changes via API + * Improved plate patterns + * Improved accuracy + * Upload sponsored by Petter Reinholdtsen + + -- Matthew Hill Sat, 17 Sep 2016 11:27:25 -0500 + openalpr (2.2.4-1) unstable; urgency=low * Added Python3 bindings (Closes: #815961) From 04bd0e238d762c778122ae18b50fd7cce0bb642d Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Sat, 17 Sep 2016 11:31:30 -0400 Subject: [PATCH 14/30] Added uscan config to debian packaging --- distros/debian/watch | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 distros/debian/watch diff --git a/distros/debian/watch b/distros/debian/watch new file mode 100644 index 0000000..98895a7 --- /dev/null +++ b/distros/debian/watch @@ -0,0 +1,2 @@ + version=3 + https://github.com/openalpr/openalpr/tags .*/v?(\d.*)\.(?:tgz|tbz2|tar\.(?:gz|bz2|xz)) From 583f69acac25341fbc16736f504b248acbda2a0f Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Fri, 23 Sep 2016 11:06:41 -0400 Subject: [PATCH 15/30] Added Brazilian plate pattern --- runtime_data/postprocess/br.patterns | 1 + 1 file changed, 1 insertion(+) create mode 100644 runtime_data/postprocess/br.patterns diff --git a/runtime_data/postprocess/br.patterns b/runtime_data/postprocess/br.patterns new file mode 100644 index 0000000..92e9463 --- /dev/null +++ b/runtime_data/postprocess/br.patterns @@ -0,0 +1 @@ +br @@@#### From 0f07bba7dd6f491542047f4a9740bf534ca5942a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20Ban=CC=81kowski?= Date: Mon, 26 Sep 2016 21:08:49 +0200 Subject: [PATCH 16/30] Set locale to avoid numeric conversion issues In certain locales decimal separator is comma instead of a dot. Without this change OpenALPR will silently fail or produce meaningless error from underlying OpenCV function. Additionally json produced will not be valid. --- src/openalpr/cjson.c | 6 ++++++ src/openalpr/config_helper.cpp | 20 ++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/openalpr/cjson.c b/src/openalpr/cjson.c index 64d5390..2f83c63 100644 --- a/src/openalpr/cjson.c +++ b/src/openalpr/cjson.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "cjson.h" static const char *ep; @@ -117,6 +118,9 @@ static const char *parse_number(cJSON *item,const char *num) /* Render the number nicely from the given item into a string. */ static char *print_number(cJSON *item) { + char * locale = setlocale(LC_ALL, NULL); + setlocale(LC_NUMERIC, "C"); + char *str; double d=item->valuedouble; if (fabs(((double)item->valueint)-d)<=DBL_EPSILON && d<=INT_MAX && d>=INT_MIN) @@ -134,6 +138,8 @@ static char *print_number(cJSON *item) else sprintf(str,"%f",d); } } + + setlocale(LC_NUMERIC, locale); return str; } diff --git a/src/openalpr/config_helper.cpp b/src/openalpr/config_helper.cpp index ae1ff17..600b856 100644 --- a/src/openalpr/config_helper.cpp +++ b/src/openalpr/config_helper.cpp @@ -19,6 +19,7 @@ #include "config_helper.h" +#include #include using namespace std; @@ -37,7 +38,13 @@ namespace alpr return defaultValue; } + char * locale = std::setlocale(LC_ALL, NULL); + setlocale(LC_NUMERIC, "C"); + float val = atof(pszValue); + + std::setlocale(LC_NUMERIC, locale); + return val; } @@ -51,13 +58,18 @@ namespace alpr values.sort(CSimpleIniA::Entry::LoadOrder()); std::vector response; - - // output all of the items + + char * locale = std::setlocale(LC_ALL, NULL); + std::setlocale(LC_NUMERIC, "C"); + + // output all of the items CSimpleIniA::TNamesDepend::const_iterator i; - for (i = values.begin(); i != values.end(); ++i) { + for (i = values.begin(); i != values.end(); ++i) { response.push_back(atof(i->pItem)); } - + + std::setlocale(LC_NUMERIC, locale); + return response; } From d6cea3c43ef85cab22af0ef59bf3325ca4f2b87e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20Ban=CC=81kowski?= Date: Mon, 26 Sep 2016 23:18:59 +0200 Subject: [PATCH 17/30] Enhance interop with Java When working with JVM based language and OpenCV you may have a ptr to the native Mat data. This binding allows passing it to the OpenALPR. Usage: Mat mat = ... alpr.recognize(mat.dataAddr(), mat.channels(), mat.width(), mat.height()) --- src/bindings/java/com_openalpr_jni_Alpr.h | 8 ++++++++ src/bindings/java/openalprjni.cpp | 18 ++++++++++++++++++ .../java/src/com/openalpr/jni/Alpr.java | 13 +++++++++++++ 3 files changed, 39 insertions(+) diff --git a/src/bindings/java/com_openalpr_jni_Alpr.h b/src/bindings/java/com_openalpr_jni_Alpr.h index 95e3983..5418502 100644 --- a/src/bindings/java/com_openalpr_jni_Alpr.h +++ b/src/bindings/java/com_openalpr_jni_Alpr.h @@ -47,6 +47,14 @@ JNIEXPORT jstring JNICALL Java_com_openalpr_jni_Alpr_native_1recognize__Ljava_la JNIEXPORT jstring JNICALL Java_com_openalpr_jni_Alpr_native_1recognize___3B (JNIEnv *, jobject, jbyteArray); +/* + * Class: com_openalpr_jni_Alpr + * Method: native_recognize + * Signature: (JIII)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_com_openalpr_jni_Alpr_native_1recognize__JIII + (JNIEnv *, jobject, jlong, jint, jint, jint); + /* * Class: com_openalpr_jni_Alpr * Method: set_default_region diff --git a/src/bindings/java/openalprjni.cpp b/src/bindings/java/openalprjni.cpp index 7863843..711b17b 100644 --- a/src/bindings/java/openalprjni.cpp +++ b/src/bindings/java/openalprjni.cpp @@ -88,6 +88,24 @@ JNIEXPORT jstring JNICALL Java_com_openalpr_jni_Alpr_native_1recognize___3B return env->NewStringUTF(json.c_str()); } +JNIEXPORT jstring JNICALL Java_com_openalpr_jni_Alpr_native_1recognize__JIII + (JNIEnv *env, jobject thisObj, jlong data, jint bytesPerPixel, jint width, jint height) + { + //printf("Recognize data pointer"); + + AlprResults results = nativeAlpr->recognize( + reinterpret_cast(data), + static_cast(bytesPerPixel), + static_cast(width), + static_cast(height), + std::vector()); + + std::string json = Alpr::toJson(results); + + return env->NewStringUTF(json.c_str()); + } + + JNIEXPORT void JNICALL Java_com_openalpr_jni_Alpr_set_1default_1region (JNIEnv *env, jobject thisObj, jstring jdefault_region) { diff --git a/src/bindings/java/src/com/openalpr/jni/Alpr.java b/src/bindings/java/src/com/openalpr/jni/Alpr.java index ce49488..e72816b 100644 --- a/src/bindings/java/src/com/openalpr/jni/Alpr.java +++ b/src/bindings/java/src/com/openalpr/jni/Alpr.java @@ -15,6 +15,7 @@ public class Alpr { private native boolean is_loaded(); private native String native_recognize(String imageFile); private native String native_recognize(byte[] imageBytes); + private native String native_recognize(long imageData, int bytesPerPixel, int imgWidth, int imgHeight); private native void set_default_region(String region); private native void detect_region(boolean detectRegion); @@ -62,6 +63,18 @@ public class Alpr { } + public AlprResults recognize(long imageData, int bytesPerPixel, int imgWidth, int imgHeight) throws AlprException + { + try { + String json = native_recognize(imageData, bytesPerPixel, imgWidth, imgHeight); + return new AlprResults(json); + } catch (JSONException e) + { + throw new AlprException("Unable to parse ALPR results"); + } + } + + public void setTopN(int topN) { set_top_n(topN); From 0e31964dd84fc52d0f890ccb287d5ae7e6cb2749 Mon Sep 17 00:00:00 2001 From: Matthew Hill Date: Fri, 30 Sep 2016 12:18:31 -0400 Subject: [PATCH 18/30] Update readme.md Simplified install instructions for Ubuntu 16.04 --- README.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4ebdebe..25ec844 100644 --- a/README.md +++ b/README.md @@ -98,12 +98,9 @@ Binaries Pre-compiled Windows binaries can be downloaded on the [releases page] (https://github.com/openalpr/openalpr/releases) -Install OpenALPR on Ubuntu 14.04 x64 with the following commands: +Install OpenALPR on Ubuntu 16.04 with the following commands: - wget -O - http://deb.openalpr.com/openalpr.gpg.key | sudo apt-key add - - echo "deb http://deb.openalpr.com/master/ openalpr main" | sudo tee /etc/apt/sources.list.d/openalpr.list - sudo apt-get update - sudo apt-get install openalpr openalpr-daemon openalpr-utils libopenalpr-dev + sudo apt-get update && sudo apt-get install -y openalpr openalpr-daemon openalpr-utils libopenalpr-dev Documentation --------------- From 07d4c1b05296618a132c0ab822f6c454d3612dd7 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Fri, 30 Sep 2016 14:09:48 -0400 Subject: [PATCH 19/30] Added improved brazilian plate detector from @jovargas --- runtime_data/region/br.xml | 747 +++++++++++++++++-------------------- 1 file changed, 333 insertions(+), 414 deletions(-) diff --git a/runtime_data/region/br.xml b/runtime_data/region/br.xml index d99088b..e3cd367 100644 --- a/runtime_data/region/br.xml +++ b/runtime_data/region/br.xml @@ -3,7 +3,7 @@ BOOST LBP - 15 + 14 42 GAB @@ -19,846 +19,765 @@ <_> - 5 - -1.1964071989059448e+000 + 3 + -8.2853245735168457e-001 <_> - 0 -1 27 33554640 -544140968 335549945 -36106215 411081210 - -1080391544 -1904170241 -1146615160 + 0 -1 37 285216984 -583724588 1359073759 -585301731 + -1207919366 -4685672 -1744271105 -1693972344 - -8.7927925586700439e-001 4.5667687058448792e-001 + -8.2473558187484741e-001 7.9090112447738647e-001 <_> - 0 -1 46 268439760 -149874312 -787376161 2136282581 - -1341588998 -74904568 -1147422273 -1087694101 + 0 -1 23 269504592 -707788396 419500415 2132086785 + -2138529618 -1164967776 402655407 -1960181752 - -7.4128758907318115e-001 6.2185472249984741e-001 + -7.4675083160400391e-001 7.1070402860641479e-001 <_> - 0 -1 23 2063649016 -16776512 -1996449315 499122204 - -1979156230 -553615232 -1182229505 -1442185074 + 0 -1 39 -202378098 -251670049 -1903268086 -537928017 + -1263013447 -252423748 -272171121 -572523877 - -6.3709861040115356e-001 5.8977502584457397e-001 - <_> - - 0 -1 52 -212868606 1348317263 16941312 420457119 1930663298 - 16974338 1912834571 1433391899 - - -6.7505764961242676e-001 5.4119122028350830e-001 - <_> - - 0 -1 41 486858964 1469124816 -1861074663 358547473 545294474 - -1635778430 155844751 135397416 - - -6.9977498054504395e-001 5.2006703615188599e-001 + -6.7105877399444580e-001 7.4295401573181152e-001 <_> - 5 - -2.1282923221588135e+000 + 3 + -8.1748569011688232e-001 <_> - 0 -1 25 -251604776 -105623336 -1694461443 -552251119 - -1199525378 -68681576 -1693934849 -1078329208 + 0 -1 17 287364601 -584025864 -720897 -537571911 -1117732865 + -1073948680 1069072383 -1081602328 - -7.9207307100296021e-001 4.9837976694107056e-001 + -7.6333057880401611e-001 8.1242781877517700e-001 <_> - 0 -1 7 -489754998 -523610645 -805306358 -464338290 - 1363329094 1912799241 -242814290 -202637313 + 0 -1 31 -203434240 -2121399 352571791 -134749749 -3556389 + -360480633 -1198814209 13625999 - -7.3869293928146362e-001 5.0647658109664917e-001 + -7.8441995382308960e-001 6.5391725301742554e-001 <_> - 0 -1 34 268436496 -4500735 1124161021 1610422745 -1195341590 - -88436599 1034599103 -1615198056 + 0 -1 15 285250768 -1657798636 152180093 420675585 + -1207926532 -8257400 419960987 -1148256087 - -7.0634657144546509e-001 5.5851876735687256e-001 - <_> - - 0 -1 26 152050904 -1626793426 520040083 1064644409 - -805556338 -1895481457 803082159 -1960892961 - - -5.7692325115203857e-001 6.4515799283981323e-001 - <_> - - 0 -1 69 -5268760 1056194492 1073228320 939276990 1563737564 - 7618428 2138838509 -1058 - - -5.7912176847457886e-001 6.2656235694885254e-001 + -6.5546298027038574e-001 7.3026490211486816e-001 <_> - 5 - -1.2153034210205078e+000 + 6 + -1.3338762521743774e+000 <_> - 0 -1 79 -2099454 -213387773 -720919680 -236986337 -705961726 - 1261052035 -507250046 -201327633 + 0 -1 16 -581922373 -572703591 1025064957 -42623043 + -587923713 -204836 -1646481409 -1651654770 - -7.9298692941665649e-001 4.3366092443466187e-001 + -6.9488149881362915e-001 7.8489482402801514e-001 <_> - 0 -1 58 -69404420 991736520 898669296 1001654972 1005103612 - 1017643188 999828188 -1073742849 + 0 -1 39 -100663297 -201985617 -7361009 -67108881 -138543185 + 1106571701 -11538609 -134221109 - -7.1880286931991577e-001 4.0782269835472107e-001 + -5.4936617612838745e-001 8.1860017776489258e-001 <_> - 0 -1 43 152344528 -2345596 -1642998019 -5289827 -1140274994 - -274088968 -1699681541 530055560 + 0 -1 54 356516348 1431327064 337204735 2138898649 + -2004301634 -1081597799 218630399 -1196418592 - -6.6628736257553101e-001 4.2626336216926575e-001 + -7.7375411987304688e-001 5.7966601848602295e-001 <_> - 0 -1 21 -521672154 -1539185074 -399712118 -1026585944 - -693112081 1371607070 1919870975 -976750009 + 0 -1 55 -200875316 -209338238 139778 -249847670 -1269438517 + 8659008 -1572371798 -213966709 - -6.2678498029708862e-001 4.7574332356452942e-001 + -6.1659812927246094e-001 6.5415656566619873e-001 <_> - 0 -1 54 5368 -3001869 1929482713 -573353515 -1182585922 - -1145423628 277580799 -1143470376 + 0 -1 10 -6450 -122097666 -553865708 951648254 1878088704 + 1291608053 2147118876 -1 - -5.9900951385498047e-001 4.9700802564620972e-001 + -5.5839419364929199e-001 6.7460024356842041e-001 + <_> + + 0 -1 59 -229644094 -740913019 402653736 1595499402 + 1629027160 537135104 -339090710 1376477103 + + -6.9653308391571045e-001 5.0569772720336914e-001 <_> 6 - -1.6343758106231689e+000 + -1.3329070806503296e+000 <_> - 0 -1 81 -268439806 -1061424645 -1051731968 -923869537 - -673186047 319918595 -76553472 -134217737 + 0 -1 38 -17 -235014145 -273698930 -1 -655361 -252578305 + -1048689 -1 - -8.4519118070602417e-001 2.9262334108352661e-001 + -6.2613362073898315e-001 8.3587586879730225e-001 <_> - 0 -1 6 -271581489 552533247 -913115230 -152109057 - -1100516769 1951553085 -147066289 -134217729 + 0 -1 1 -822088017 -1494220817 -286627166 -521146870 + -438311098 1148141431 2004874787 -452986937 - -6.5731948614120483e-001 4.7886639833450317e-001 + -6.2483572959899902e-001 7.0758932828903198e-001 <_> - 0 -1 61 -424679934 -2135696350 -1064909688 -1039144222 - -1033636095 1879724546 -950025626 1383584391 + 0 -1 19 1433731065 1567710713 -33685505 -4358209 -1073954819 + -745475 -409601 -1080029252 - -6.5842622518539429e-001 4.2747709155082703e-001 + -5.6460815668106079e-001 6.4405161142349243e-001 <_> - 0 -1 31 364707580 -2313219 1459444475 -40509955 1067040767 - -1076043270 2141102079 -1614016548 + 0 -1 72 -289409534 572709774 -2136751520 -1605438470 + 1541534464 538170499 1653335808 -521666585 - -5.4566150903701782e-001 4.9507161974906921e-001 + -5.9405732154846191e-001 5.3030282258987427e-001 <_> - 0 -1 32 -4210 2042164222 -1364713272 -1090622466 -248024 - 90454015 2142631304 2012735407 + 0 -1 47 284718389 1442395637 -1181229569 -4235459 + -1466270465 -4196097 -71385857 -1733811012 - -5.0535798072814941e-001 5.7926094532012939e-001 + -5.5647981166839600e-001 5.8203917741775513e-001 <_> - 0 -1 42 -272634262 1674547575 -230414848 1926751170 - 1136753934 18043187 -134237370 -134744065 + 0 -1 30 1081598594 1419768706 -1017120245 -83364286 + -389044566 -467664864 -1068501878 -800590846 - -5.4905587434768677e-001 5.1677316427230835e-001 + -5.8518677949905396e-001 4.9468857049942017e-001 <_> - 7 - -1.3040487766265869e+000 + 6 + -1.2980090379714966e+000 <_> - 0 -1 85 -6 -1092881522 -116944536 -608442369 -79692611 - 1392745099 -71327504 -1 + 0 -1 69 -184550649 -8913025 -50331649 -201326593 -18874625 + -32897 -218103829 -520093713 - -7.5137650966644287e-001 3.0487805604934692e-001 + -5.9198069572448730e-001 7.8156101703643799e-001 <_> - 0 -1 59 8394097 -1648664581 -12853761 -190627 -1095910689 - -5519106 -1411646469 1068250857 + 0 -1 46 -2097153 -788860673 1309495053 -974139641 -252709717 + -789389193 1996738051 -33 - -7.1090817451477051e-001 3.0994907021522522e-001 + -5.4641300439834595e-001 6.8572372198104858e-001 <_> - 0 -1 48 -1065107454 -755501174 -644876145 -721429601 - 1737490415 -1095776374 -243277074 -1066408406 + 0 -1 14 21242301 -539159755 -1122222113 -2280651 -36897815 + -73606052 -79118609 -3630132 - -5.2537465095520020e-001 4.9692764878273010e-001 + -6.3102430105209351e-001 5.3388547897338867e-001 <_> - 0 -1 37 489692592 -532503 2134751987 -57543 2121538286 - -268473633 987443707 -1078445932 + 0 -1 74 -339745273 1137177294 -532159998 -2139162777 + -149423358 -449095354 -272110076 -218628233 - -5.6469845771789551e-001 4.6643844246864319e-001 + -5.4400163888931274e-001 5.3200685977935791e-001 <_> - 0 -1 4 -288428530 -488127602 -936853362 1657971354 - 1162233349 1662814275 1439628352 -159383553 + 0 -1 42 1030755448 -1073872995 -69569291 -4501512 968236024 + -16486 -541393926 -1145553976 - -5.4325199127197266e-001 5.0862145423889160e-001 + -7.3628991842269897e-001 4.0775153040885925e-001 <_> - 0 -1 50 -84941142 -1428640936 992191108 -2015943412 - 1343344792 6561867 1733276937 1879048191 + 0 -1 53 -521673725 -9447329 2147450855 -134217929 -457195601 + -671622077 -872415777 -1073233405 - -6.1056977510452271e-001 4.0385618805885315e-001 - <_> - - 0 -1 18 682492992 -33616389 -1743981569 -1074896010 - -55597153 -69621393 -1077527554 -1361049600 - - -6.5545457601547241e-001 4.0622577071189880e-001 + -4.6834933757781982e-001 6.1143130064010620e-001 <_> 6 - -1.8971043825149536e+000 + -1.4600841999053955e+000 <_> - 0 -1 80 -209 -943720449 -1073743070 -356515841 -185 - -352322561 -251 -33 + 0 -1 40 -2 -71436289 -1081374964 -17409 -132129 -252646597 + -9249 -131073 - -7.6774191856384277e-001 2.1585431694984436e-001 + -7.0482200384140015e-001 6.1317390203475952e-001 <_> - 0 -1 13 262146142 -1615945912 -16859653 -19252516 - -1092928001 -263169 -1392645 -273765460 + 0 -1 27 1431568351 1977614335 2144862207 2013231039 + -419434578 -4370 -16848146 -67114870 - -6.8867766857147217e-001 3.1720376014709473e-001 + -5.3594231605529785e-001 6.7189788818359375e-001 <_> - 0 -1 10 -268439833 45014767 -1098973498 -385941761 - 1996445559 1702066015 -50333705 -151027713 + 0 -1 3 -286265553 -288883729 -274870686 -353375034 + 2045506919 1690041199 2147481445 -1048761 - -6.2687981128692627e-001 3.8451772928237915e-001 + -5.9768378734588623e-001 5.4696100950241089e-001 <_> - 0 -1 44 822084689 -167 -98305 -134816802 -1140942341 -65671 - 1041842171 1050426744 + 0 -1 4 -134545410 -5703686 -71540238 -1349334278 1580745724 + 1308117213 1202520827 1308512223 - -6.9191658496856689e-001 3.4533604979515076e-001 + -7.4109089374542236e-001 3.6831066012382507e-001 <_> - 0 -1 57 1039666588 -46336131 1039982577 -539107331 - -1886617604 -67077 -21037059 -1342688080 + 0 -1 44 425729245 -8972291 -38019073 -164417 -1079459842 + -67200001 -1143324737 -1092082948 - -6.2124317884445190e-001 3.6634594202041626e-001 + -5.6800931692123413e-001 5.0094425678253174e-001 <_> - 0 -1 83 -268439769 -504411265 -213190396 -522257938 - -19156145 587120478 -67666400 -452987017 + 0 -1 71 -66 990687228 -67125972 1069285308 -50332163 + 1044315645 -2571 -41943041 - -5.2548694610595703e-001 4.3296870589256287e-001 + -4.9089109897613525e-001 5.5790531635284424e-001 <_> 8 - -1.4160413742065430e+000 + -1.3831173181533813e+000 <_> - 0 -1 8 -4353 -251726113 -680272417 -3073 -525313 -135046693 - -13631489 -1 + 0 -1 11 -681731073 -2246209 -1208139777 -2752580 -37879809 + -196643 -572661761 -1075970081 - -6.8693995475769043e-001 4.6981132030487061e-001 + -5.6764817237854004e-001 7.4003648757934570e-001 <_> - 0 -1 84 -1048797 -1343251650 -6554336 -874580482 -46140602 - 483391647 -73925372 -134217729 + 0 -1 43 -1057 -754982214 168807941 -1919979961 -253496143 + -252514096 -553126561 -68157441 - -5.7858788967132568e-001 3.9658361673355103e-001 + -5.1411336660385132e-001 6.2704712152481079e-001 <_> - 0 -1 67 -3108 -1078984556 -1894903368 -1146831128 - -1101250568 1050689457 1304181724 -65 + 0 -1 29 -1349907204 -4903014 -1075574785 -5235820 -105006081 + -33809443 -475201 -22496840 - -4.7325024008750916e-001 4.3673580884933472e-001 + -6.5674120187759399e-001 4.4796296954154968e-001 <_> - 0 -1 40 -991705598 -143141023 -14777081 -194513152 998221582 - -890550767 -160958636 1080542983 + 0 -1 49 -1065900489 -1052761 -268435457 -1 -10273 -2177 + -524289 -9181689 - -5.7411575317382813e-001 3.5344249010086060e-001 + -4.3221050500869751e-001 6.1747372150421143e-001 <_> - 0 -1 56 520097048 2142524380 991936509 -12611107 1022119118 - -1074042628 1538060215 -623231992 + 0 -1 75 -217 -1347420177 -608282330 -487605129 1910499078 + 1131571950 -3179776 -523763714 - -5.6550782918930054e-001 3.9947867393493652e-001 + -5.8398228883743286e-001 4.1473022103309631e-001 <_> - 0 -1 64 -1073510910 -134485969 -38068901 -8402467 2136994489 - -68236422 -143131909 -1018170845 + 0 -1 51 259264536 -1149902853 -753876995 2143254457 + -645378568 -5314406 -1080132867 -1078428268 - -4.6683305501937866e-001 4.2769363522529602e-001 + -7.3157382011413574e-001 3.2581529021263123e-001 <_> - 0 -1 15 -1566382153 -67108865 2147483639 -2049 -2097793 - -285212673 -268443713 -1464906351 + 0 -1 33 -1069030909 -905977946 -8913185 -1710847 -805331457 + -327790 -473968641 -1067981309 - -3.6367681622505188e-001 5.7400894165039063e-001 + -4.4401237368583679e-001 5.3910166025161743e-001 <_> - 0 -1 35 -5243010 1069055996 2147281896 1542733820 935084029 - 800866173 805189612 -5570641 + 0 -1 8 -421008670 -279056550 -464391041 -539758432 + 1303335486 -353672409 1890057173 -195561501 - -4.3467071652412415e-001 4.7078517079353333e-001 + -4.8434647917747498e-001 4.7722080349922180e-001 <_> - 9 - -1.6374719142913818e+000 + 7 + -1.0721565485000610e+000 <_> - 0 -1 16 -537206785 -76421 -8724481 1071529598 -268500993 - -257 -72351749 -69633 + 0 -1 15 -13041667 -294913 1060863999 1067139069 -15409924 + -8707 -546505217 -9761 - -7.1031987667083740e-001 3.1934031844139099e-001 + -5.3846156597137451e-001 7.8067737817764282e-001 <_> - 0 -1 70 8388945 -1607715 -53487619 -42268164 -1413742931 - -84153893 -1179124737 -1346762245 + 0 -1 67 -4 1058889181 -1109576068 1061024607 -630597636 + 990968873 -338232644 2139094975 - -5.9262335300445557e-001 2.8971078991889954e-001 + -6.1439883708953857e-001 5.0837707519531250e-001 <_> - 0 -1 9 -286331154 -823145553 -833684562 -294717745 - 1664575334 1685316899 -741618937 -136839425 + 0 -1 21 1556954559 -44715049 1066999807 -34212897 -60490753 + -121838855 -590770181 1561712573 - -6.2391364574432373e-001 2.9032164812088013e-001 + -5.5671542882919312e-001 4.9533960223197937e-001 <_> - 0 -1 1 1939920638 -12271946 -1410405509 -167899142 - -469893121 -350748931 2146385919 -1116856358 + 0 -1 2 -421007634 -415770121 -15217666 -18423610 -739772201 + -1757702077 -138678277 2004318023 - -4.1564238071441650e-001 4.6040636301040649e-001 + -6.7898088693618774e-001 3.6057698726654053e-001 <_> - 0 -1 63 -805520964 -1344512536 1438651260 1066145520 - -1820574212 699150588 1069300220 -8194 + 0 -1 56 1084745218 -134237397 1132975563 -3672349 -133303569 + -84217206 -353381665 -1064833534 - -5.4733866453170776e-001 3.5721898078918457e-001 + -5.1906722784042358e-001 4.4790410995483398e-001 <_> - 0 -1 73 -494149630 -608193211 1461044998 1272968018 - -332465169 -1652948809 1984915439 1085273802 + 0 -1 6 -12594 1985637327 -157620114 -386470066 -606119323 + 2111261223 -439408252 -168362257 - -5.0174319744110107e-001 3.6186811327934265e-001 + -5.6427675485610962e-001 4.1696536540985107e-001 <_> - 0 -1 78 -302039539 14668062 -845414419 1627028415 -102896891 - -608186118 -87434940 -251723977 + 0 -1 18 287069429 1540717769 1504826367 -1082829027 + -56821761 -606297447 1049934591 -1620034247 - -4.7290304303169250e-001 3.6363539099693298e-001 - <_> - - 0 -1 68 -1070865406 -762583258 -101933826 -101779222 - 38782490 -303371058 -1609673140 1347413639 - - -5.6219518184661865e-001 3.1412795186042786e-001 - <_> - - 0 -1 38 1064582228 -1089169512 928570847 -2198115 -108777227 - -79856407 2129417214 800859388 - - -7.3133337497711182e-001 2.4801188707351685e-001 + -5.8802723884582520e-001 3.9574873447418213e-001 <_> 8 - -1.8234205245971680e+000 + -1.2750341892242432e+000 <_> - 0 -1 3 -2097153 83815999 -8403969 -9557 -206571521 - 1454242303 -69238785 -8225 + 0 -1 13 -8913413 -7012417 1060835131 2147041247 -589500419 + -587924228 -572588033 -536871425 - -7.1463465690612793e-001 2.9166665673255920e-001 + -5.0236552953720093e-001 7.6100629568099976e-001 <_> - 0 -1 17 -2145237131 -134276737 -6291969 -559235 -86247425 - -12342 -1349612545 -2052657513 + 0 -1 41 -202381393 -242227537 -542398705 -173409041 + -771758709 -253364561 -80740469 -168428577 - -5.0566565990447998e-001 3.5669702291488647e-001 + -5.4317152500152588e-001 5.6954395771026611e-001 <_> - 0 -1 30 120589360 1069355888 479631615 -1226318383 - 1002208941 -1344278767 -18046981 -1087731792 + 0 -1 24 1087881455 2113665003 -210894853 2146828223 + -1140851282 -18 -890437942 -4461558 - -6.4467704296112061e-001 2.7640771865844727e-001 + -4.7311496734619141e-001 5.2226537466049194e-001 <_> - 0 -1 82 -1048785 -520356883 -822346484 -154212657 -2163161 - 1232586879 -76552704 -51380737 + 0 -1 61 -16387 939276280 -1283703044 2143205076 -280183363 + 1034435276 1050948600 -35 - -4.6251305937767029e-001 3.8494673371315002e-001 + -4.6256715059280396e-001 4.9628910422325134e-001 <_> - 0 -1 60 81 -2128467 -536914953 -1614824459 -1161380866 - -868613 -1096094209 191108580 + 0 -1 26 171050035 -1221456399 -539869197 -1087169504 + -1922552099 -1361411 -281382437 -1410185933 - -7.6596713066101074e-001 2.4397127330303192e-001 + -5.3890913724899292e-001 3.8419398665428162e-001 <_> - 0 -1 45 -327422430 728758639 -692220416 44825576 1962552635 - 1095458901 -134497596 -504365057 + 0 -1 73 -6137 1120918271 -1368794106 -2144358409 -83927551 + 1401633275 -775965916 -788529194 - -4.9973216652870178e-001 3.5576689243316650e-001 + -5.3902828693389893e-001 4.4206458330154419e-001 <_> - 0 -1 36 -69634 536654751 -1481853256 769171288 -554929700 - 215240917 2078055416 -3073 + 0 -1 63 -1951234380 -1614915876 1698200827 2145161916 + -1355301121 -1141135941 -1145373697 -1074133536 - -4.6382182836532593e-001 3.6913102865219116e-001 + -5.5798375606536865e-001 3.4880429506301880e-001 <_> - 0 -1 28 -2134899328 -1076069674 -40060929 -538978361 - -34107425 -742405734 -1376145937 -186503804 + 0 -1 70 -520096505 1984419111 -460858761 -1832389703 + -234095242 -1409595137 -366286102 -2131758089 - -5.3038501739501953e-001 3.4481102228164673e-001 + -4.5353689789772034e-001 4.7646188735961914e-001 <_> - 9 - -1.5226694345474243e+000 + 8 + -1.1843473911285400e+000 <_> - 0 -1 20 -1 868219551 -1783114497 -1277175329 -89138433 - -1142306145 -415501313 -201334785 + 0 -1 22 -88539393 -2622473 -67436545 -1078223497 -8694275 + -388 -276869121 -172161 - -6.6262781620025635e-001 3.8611924648284912e-001 + -5.0693207979202271e-001 7.3959207534790039e-001 <_> - 0 -1 77 -83887354 1610601485 -1762140161 2147474395 - -335544949 -89423810 -608437509 -773324817 + 0 -1 62 1382277871 -134223894 -1093669 -789270 2012932831 + -10771222 -878706965 -3153270 - -4.2958390712738037e-001 4.4379019737243652e-001 + -4.2572146654129028e-001 6.5866845846176147e-001 <_> - 0 -1 76 1218683906 -239868736 -1010053602 -775169798 - -529929334 619930410 -7353394 1376764738 + 0 -1 46 -84936133 -799817490 201575681 -934553081 -730335557 + -1070448605 1359418891 -537919653 - -5.4015022516250610e-001 2.9880195856094360e-001 + -5.4319930076599121e-001 4.7171792387962341e-001 <_> - 0 -1 5 -17 -319817010 2074527214 -355533978 -1215635841 - 1949296419 -1242053199 -176195757 + 0 -1 25 1585000699 -111330383 303305717 2078094325 + -1344488514 -1086581044 847298555 -215041 - -5.1664298772811890e-001 3.1505548954010010e-001 + -4.5561578869819641e-001 4.9395501613616943e-001 <_> - 0 -1 62 -492638688 -2146775931 -920780280 130112970 - -212668082 20972098 1460109574 1463287799 + 0 -1 36 -735850437 -5548997 -170426689 -41427919 -722534981 + -56665225 -794167809 -637809441 - -6.2145501375198364e-001 2.7485108375549316e-001 + -3.9095941185951233e-001 6.1021536588668823e-001 <_> - 0 -1 22 -11252519 1073247571 -495917601 905328276 -623352900 - -8238208 -1227228929 -560137000 + 0 -1 65 201339189 -109363211 -131585 1601142655 -536940609 + -8880131 -1428402450 -1165357912 - -4.1788932681083679e-001 3.9505812525749207e-001 + -4.4847896695137024e-001 4.8076605796813965e-001 <_> - 0 -1 71 490445840 894628093 -382633991 -69207205 -826577940 - -808527105 1865165268 476542368 + 0 -1 34 -1024463798 -67440058 1412853760 -1292148966 + -357569761 1109114946 -235150709 1395639042 - -5.9434819221496582e-001 2.7289205789566040e-001 + -5.9451353549957275e-001 3.2721316814422607e-001 <_> - 0 -1 49 -995146718 122668331 -1070579422 -1836127973 - 1180615783 1295172115 -500570430 -792999173 + 0 -1 66 -252447488 -686295729 -774513665 -2108929 -876294680 + -1888788333 -2067312392 1355546591 - -5.2968615293502808e-001 3.0335524678230286e-001 - <_> - - 0 -1 66 -1073029118 -174069346 -1316498529 -1087647654 - -332402737 -32783558 1653533115 1073865354 - - -5.8427923917770386e-001 2.7470675110816956e-001 + -5.9371763467788696e-001 3.0977559089660645e-001 <_> - 10 - -1.8655816316604614e+000 + 9 + -1.7721819877624512e+000 <_> - 0 -1 19 -1 1005582303 -40509953 -10241 -268443905 -69223937 - -140515841 -67108865 + 0 -1 52 1364590559 -6488196 2071953407 -304133 -4210689 + -16973858 -69222721 -318838 - -6.2193822860717773e-001 5.9463489055633545e-001 + -5.0053322315216064e-001 7.2953337430953979e-001 <_> - 0 -1 11 -16784145 -660675861 -665172738 -54894369 1198416799 - -260879642 1808782335 -25501697 + 0 -1 9 -1346390051 -1153975463 -168044545 -1073760400 + -603979812 -71570664 -78774824 -3146535 - -4.4034096598625183e-001 3.7371170520782471e-001 + -4.7651672363281250e-001 5.5323666334152222e-001 <_> - 0 -1 53 -8602180 1062481780 -1814010156 1037571032 - 1004280824 989607704 2079078908 2147483133 + 0 -1 48 -1073492989 -624955969 -629407821 -277350569 + -367002093 -1881174853 -370159189 1526981123 - -6.7309290170669556e-001 2.3404814302921295e-001 + -5.3586703538894653e-001 4.3482360243797302e-001 <_> - 0 -1 74 -275072578 1045181254 1332227640 1067825048 - 796670684 1055918217 930622460 2113928191 + 0 -1 7 -268514049 -2182498 -557921026 -1143833520 1337869053 + 1595298893 -6356993 -1409037 - -5.6065100431442261e-001 2.5880596041679382e-001 + -4.6753937005996704e-001 4.7871547937393188e-001 <_> - 0 -1 86 -617882192 -878848038 -1950097616 -244330091 - -1696597099 -1868375179 -1206958988 -1040976940 + 0 -1 28 -4224337 -3210241 -1491399617 -177201 -1666217729 + -188466456 -37118977 -570621953 - -4.3073269724845886e-001 3.5705247521400452e-001 + -4.5714759826660156e-001 4.2808809876441956e-001 <_> - 0 -1 33 -610549046 -750139765 2789376 1502196119 1347791000 - -1259255935 1397025241 -581964801 + 0 -1 68 937426204 1025373468 -1189126255 2138821591 + -1700284228 -1216642872 -1158053604 805297404 - -3.8642928004264832e-001 3.8220575451850891e-001 + -5.4907804727554321e-001 3.8489469885826111e-001 <_> - 0 -1 29 827370992 924786388 -679363499 1932996677 -43610385 - 471730452 1407714283 2359840 + 0 -1 0 -288366334 -825757274 -460792322 -291581722 + 1170695122 -884364 -415762442 -227019529 - -6.4638030529022217e-001 2.2863811254501343e-001 + -6.1079239845275879e-001 2.9559111595153809e-001 <_> - 0 -1 75 -595650047 1610053947 -647013903 -38592717 - -818039473 -625225549 -37343608 -1967491763 + 0 -1 58 -540048250 322173639 -634957345 -679614881 -82855217 + -664080198 -945776257 1431534827 - -4.2762732505798340e-001 3.5982194542884827e-001 + -4.9022802710533142e-001 4.0082153677940369e-001 <_> - 0 -1 65 1987308322 1649402922 849080392 -1158627069 - 2027388751 36373761 1879819463 1124065075 + 0 -1 35 78730549 488199256 1405345655 1971282205 -1734690372 + -1398044024 700103675 -1735738837 - -6.7788040637969971e-001 2.1414722502231598e-001 - <_> - - 0 -1 2 -427675985 -941632058 -799193361 -221927446 - 1160970551 996040775 -180625843 -524547 - - -3.8236486911773682e-001 3.9269205927848816e-001 + -4.9552637338638306e-001 3.6625802516937256e-001 <_> 9 - -1.7969284057617187e+000 + -1.6782010793685913e+000 <_> - 0 -1 0 -353372161 -11307 -549724161 -13632161 -1435501057 - -5528877 -637797377 -823140353 + 0 -1 45 -218370049 -31505 -8193 -1110514 -797769730 -2049 + -11010053 -8433 - -6.6345411539077759e-001 3.0170097947120667e-001 + -4.4659072160720825e-001 7.9415500164031982e-001 <_> - 0 -1 12 -69734673 -19242774 -269161506 -363664166 -71050401 - -284728827 -555363457 -159907849 + 0 -1 12 -203689238 -11411516 395785395 905899519 -946933521 + 1479650435 1101129199 1468004095 - -4.7520682215690613e-001 3.2926595211029053e-001 + -5.4474192857742310e-001 4.7251713275909424e-001 <_> - 0 -1 24 -1082480130 1037862486 823143926 536657916 - 1565485821 1013461181 963582206 -327681 + 0 -1 20 -496508273 -1048657 -4097 2146957074 -553652225 + -65713 -17 -179837374 - -4.8985585570335388e-001 3.1941899657249451e-001 + -3.9359572529792786e-001 5.4971671104431152e-001 <_> - 0 -1 47 -1154564304 461334451 -1619026669 -1208279245 - 2134846398 535768715 1258235395 727400238 + 0 -1 60 1358984660 -1210300454 404051839 -545474884 + 567032571 -1093952574 781125119 -5567960 - -5.8336496353149414e-001 2.5464949011802673e-001 + -4.8279407620429993e-001 4.3091443181037903e-001 <_> - 0 -1 39 1073791488 -134749740 -653002785 1440794501 - -389049109 -275527441 -568335813 1073999906 + 0 -1 57 1426068991 1601467897 992870367 2145386399 + 2038484222 -71778387 -341114881 -585061027 - -6.5436220169067383e-001 2.5468635559082031e-001 + -5.4100221395492554e-001 3.2671278715133667e-001 <_> - 0 -1 72 -1074089284 1607756196 -1852440328 1002180984 - 218905068 725361684 21764828 2147417085 + 0 -1 5 -35655857 1692374991 -453645532 -867243825 2042613767 + -467932117 -1149248511 -184552449 - -6.4595431089401245e-001 1.9577540457248688e-001 + -5.2549248933792114e-001 4.0258836746215820e-001 <_> - 0 -1 14 1340231294 -12781458 1313797591 907547224 2135034455 - -70612901 -83119617 -566036690 + 0 -1 32 1342691326 1475291005 -1055105 1073430447 -538386740 + -1048577 -270038549 -68424022 - -5.0948709249496460e-001 2.7902123332023621e-001 + -3.8929802179336548e-001 4.6440866589546204e-001 <_> - 0 -1 55 -854948350 661434892 139116872 1388508965 1510468974 - 17247399 656499191 -146014721 + 0 -1 50 2071425138 166474750 2007511288 1015435772 + -743868420 449328296 323123188 1875607550 - -4.8669272661209106e-001 2.9277750849723816e-001 + -6.6830915212631226e-001 2.5718382000923157e-001 <_> - 0 -1 51 5136 -15150931 -212600865 -705203371 -1232339265 - -1685345637 516729851 777008044 + 0 -1 64 -198224875 2014237438 1368741745 823456091 -9455171 + -268766785 -760679910 -1970341089 - -8.4291213750839233e-001 1.5331344306468964e-001 + -4.3688443303108215e-001 3.7087124586105347e-001 <_> - 0 0 3 1 + 0 2 2 2 <_> - 0 1 12 1 + 0 3 1 2 <_> - 0 2 1 1 + 0 3 3 2 <_> - 0 2 2 4 + 0 4 1 1 <_> - 0 4 1 3 + 0 5 3 3 <_> - 0 5 2 1 - <_> - - 0 6 2 2 + 0 7 1 1 <_> 0 7 1 2 <_> - 0 7 2 2 + 0 10 2 1 <_> - 0 8 1 1 + 1 1 2 3 <_> - 0 8 2 1 + 1 1 9 2 <_> - 0 8 2 2 + 1 5 1 3 <_> - 0 10 1 1 + 2 1 12 2 <_> - 0 11 11 1 + 2 2 13 1 <_> - 0 12 4 1 + 2 3 12 1 <_> - 1 0 2 1 + 3 0 12 3 <_> - 1 12 3 1 + 3 3 9 1 <_> - 2 0 2 1 + 4 1 12 2 <_> - 2 0 4 1 + 4 11 7 1 <_> - 2 1 1 3 + 6 11 4 1 <_> - 2 2 1 3 + 6 11 5 1 <_> - 2 2 2 3 + 7 1 1 3 <_> - 2 12 2 1 + 7 1 11 2 <_> - 2 12 6 1 + 7 2 6 1 <_> - 4 6 1 3 + 7 4 10 1 <_> - 4 12 12 1 + 8 2 7 3 <_> - 5 10 11 1 + 8 8 3 2 <_> - 5 11 10 1 + 9 1 5 1 <_> - 6 1 2 1 + 9 3 6 2 <_> - 6 2 10 1 + 10 7 6 2 <_> - 6 11 7 1 + 10 10 6 1 <_> - 8 12 7 1 + 11 1 1 3 <_> - 9 3 1 4 + 11 2 3 3 <_> - 9 6 8 2 - <_> - - 10 0 4 1 - <_> - - 10 9 1 2 - <_> - - 11 6 1 3 - <_> - - 11 11 9 1 - <_> - - 11 12 2 1 - <_> - - 12 0 1 3 + 11 4 5 1 <_> 12 1 1 3 <_> - 12 2 8 1 + 12 4 1 2 <_> - 12 7 1 1 + 13 0 9 1 <_> - 12 12 9 1 + 13 1 2 2 <_> - 13 0 3 1 + 13 11 9 1 <_> - 14 7 1 1 + 14 4 3 3 <_> - 15 0 4 1 + 14 5 3 2 <_> - 15 10 9 1 + 14 5 3 3 <_> - 16 0 1 3 + 14 6 3 2 <_> - 16 4 1 1 + 14 11 6 1 <_> - 16 4 1 3 + 15 5 2 2 <_> - 17 0 1 1 + 16 0 3 1 <_> - 17 3 2 3 + 16 5 1 2 <_> - 17 9 2 2 + 16 5 2 2 <_> - 18 0 4 1 + 17 0 6 1 <_> - 18 4 1 1 + 17 1 2 2 <_> - 18 11 7 1 + 18 0 2 3 <_> - 20 12 3 1 + 19 7 2 2 <_> - 21 9 1 2 + 19 11 5 1 <_> - 22 0 4 1 + 20 4 3 1 <_> - 23 0 1 1 + 21 1 1 3 <_> - 23 2 1 3 + 21 11 6 1 <_> - 23 6 1 2 + 22 5 2 1 <_> - 23 9 1 2 + 23 0 1 4 <_> - 24 0 1 3 + 23 11 5 1 <_> - 24 6 2 1 + 24 3 2 2 <_> - 26 0 1 3 + 24 5 2 2 <_> - 27 6 1 3 + 25 4 3 1 <_> - 28 1 1 3 + 26 8 1 2 <_> - 28 6 1 3 + 27 3 2 2 <_> - 30 0 2 1 + 29 11 3 1 <_> - 30 12 4 1 + 30 2 4 2 <_> - 31 6 1 3 + 32 0 2 1 <_> - 32 1 1 3 + 33 1 3 3 <_> - 32 6 1 3 + 33 8 3 2 <_> - 33 0 3 1 + 33 11 3 1 <_> - 33 1 1 3 + 35 1 2 3 <_> - 39 0 1 2 + 36 1 2 3 <_> - 39 1 1 1 + 36 8 2 2 <_> - 39 1 1 3 + 39 2 1 3 <_> 39 3 1 1 <_> - 39 3 1 3 + 39 3 1 2 <_> - 39 5 1 1 - <_> - - 39 6 1 1 - <_> - - 39 9 1 1 - <_> - - 39 9 1 2 - <_> - - 39 11 1 1 + 39 4 1 1 From 3553e8f034f82d107ecee20f87d1d0df6f0b2bb4 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Mon, 10 Oct 2016 13:59:03 -0400 Subject: [PATCH 20/30] Fix for multi-line plates ordering characters incorrectly --- src/openalpr/ocr/ocr.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/openalpr/ocr/ocr.cpp b/src/openalpr/ocr/ocr.cpp index b7b075d..933c916 100644 --- a/src/openalpr/ocr/ocr.cpp +++ b/src/openalpr/ocr/ocr.cpp @@ -48,7 +48,12 @@ namespace alpr std::vector chars = recognize_line(line_idx, pipeline_data); for (uint32_t i = 0; i < chars.size(); i++) - postProcessor.addLetter(chars[i].letter, line_idx, chars[i].char_index, chars[i].confidence); + { + // For multi-line plates, set the character indexes to sequential values based on the line number + int line_ordered_index = (line_idx * config->postProcessMaxCharacters) + chars[i].char_index; + postProcessor.addLetter(chars[i].letter, line_idx, line_ordered_index, chars[i].confidence); + absolute_charpos++; + } } From b7cc88f54c8fae0790be379ee461a7a66d74245b Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Mon, 10 Oct 2016 15:39:17 -0400 Subject: [PATCH 21/30] Updated Brazil conf and training data --- runtime_data/config/br.conf | 12 ++++++------ runtime_data/ocr/tessdata/lbr.traineddata | Bin 349162 -> 314741 bytes 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/runtime_data/config/br.conf b/runtime_data/config/br.conf index 6b8bdbb..0e1c42e 100644 --- a/runtime_data/config/br.conf +++ b/runtime_data/config/br.conf @@ -14,10 +14,10 @@ plate_height_mm = 130 multiline = 0 -char_height_mm = 63 -char_width_mm = 54 -char_whitespace_top_mm = 20 -char_whitespace_bot_mm = 10 +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 @@ -28,7 +28,7 @@ plateline_sensitivity_horizontal = 55 ; Regions smaller than this will be disqualified min_plate_size_width_px = 65 -min_plate_size_height_px = 22 +min_plate_size_height_px = 21 ; Results with fewer or more characters will be discarded postprocess_min_characters = 7 @@ -43,4 +43,4 @@ 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 = auto \ No newline at end of file +invert = auto diff --git a/runtime_data/ocr/tessdata/lbr.traineddata b/runtime_data/ocr/tessdata/lbr.traineddata index dd82f9da4e9c79ec7017c2a5e10ac16ba97891ab..f9b67b188f0a5ad46133c7f9effc3c16d4f3d7c2 100644 GIT binary patch literal 314741 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 R*&RKJ* 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 Qnn|HAHIqWGs+;ov0T4T?<^TWy literal 349162 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 wj!^GSE0^M&dsqxx1(JcHud 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ν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 Date: Tue, 11 Oct 2016 21:06:14 -0400 Subject: [PATCH 22/30] Added vietnamese 2 line plates --- runtime_data/config/vn2.conf | 53 +++ runtime_data/region/vn2.xml | 625 +++++++++++++++++++++++++++++++++++ 2 files changed, 678 insertions(+) create mode 100755 runtime_data/config/vn2.conf create mode 100755 runtime_data/region/vn2.xml diff --git a/runtime_data/config/vn2.conf b/runtime_data/config/vn2.conf new file mode 100755 index 0000000..222e7b7 --- /dev/null +++ b/runtime_data/config/vn2.conf @@ -0,0 +1,53 @@ +; Two-line Vietnam style plates + +; 35-50; 45-60, 55-70, 65-80, 75-90 +char_analysis_min_pct = 0.05 +char_analysis_height_range = 0.25 +char_analysis_height_step_size = 0.05 +char_analysis_height_num_steps = 6 + +;segmentation_min_speckle_height_percent = 0.15 +segmentation_min_box_width_px = 5 +segmentation_min_charheight_percent = 0.1 +segmentation_max_segment_width_percent_vs_average = 2.0 + +plate_width_mm = 287 +plate_height_mm = 209 + +multiline = 1 + +char_height_mm = 80 +char_width_mm = 40 +char_height_mm = 80 +char_width_mm = 40 + + +char_whitespace_top_mm = 13 +char_whitespace_bot_mm = 13 + +char_whitespace_between_lines_mm = 13 + +template_max_width_px = 287 +template_max_height_px = 209 + +; Higher sensitivity means less lines +plateline_sensitivity_vertical = 100 +plateline_sensitivity_horizontal = 80 + +; Regions smaller than this will be disqualified +min_plate_size_width_px = 60 +min_plate_size_height_px = 45 + +detector_file = vn2.xml + +ocr_language = leu + +; 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 = auto + + diff --git a/runtime_data/region/vn2.xml b/runtime_data/region/vn2.xml new file mode 100755 index 0000000..28d96e6 --- /dev/null +++ b/runtime_data/region/vn2.xml @@ -0,0 +1,625 @@ + + + + BOOST + LBP + 20 + 28 + + GAB + 9.9500000476837158e-01 + 4.4999998807907104e-01 + 9.4999999999999996e-01 + 1 + 100 + + 256 + 1 + 11 + + + <_> + 5 + -1.0226867198944092e+00 + + <_> + + 0 -1 3 -236978690 -71328259 1469446622 -41985 300805055 + 1974514928 -341061633 -1 + + -8.1343281269073486e-01 5.4749196767807007e-01 + <_> + + 0 -1 47 -1068506578 -535837126 -2139095038 -1065140221 + -1073493873 1073774592 -1056185469 -203425825 + + -6.8157231807708740e-01 6.2008899450302124e-01 + <_> + + 0 -1 8 -882644473 6749795 -1069291346 -2140212948 1350526835 + 84000771 -786963725 -403177497 + + -6.5852028131484985e-01 5.9720140695571899e-01 + <_> + + 0 -1 55 -1959252296 -2389544 -721100803 -6546476 -1240731201 + -1077882627 -1080099841 -1141371716 + + -6.6024768352508545e-01 5.6097584962844849e-01 + <_> + + 0 -1 13 -957023424 1876153335 -629018556 -1009843309 + -527056715 -1831865877 868609770 -1350571009 + + -6.3601404428482056e-01 5.6986278295516968e-01 + + <_> + 5 + -1.1183853149414062e+00 + + <_> + + 0 -1 34 -1087352324 -2420483 1372910047 2113212445 + -1148650759 -106239812 -1148650566 -1683482424 + + -8.1584769487380981e-01 3.6146789789199829e-01 + <_> + + 0 -1 36 -796671862 -796737406 1363214376 1573376133 + 1342235266 1073741825 1359870346 -606085153 + + -6.9792109727859497e-01 5.0962162017822266e-01 + <_> + + 0 -1 43 -1596738302 -738756081 -1291747361 -137389281 + -915801681 -91504437 -1413752657 -1347442137 + + -6.6823571920394897e-01 5.3261423110961914e-01 + <_> + + 0 -1 5 -208153610 -237777985 -1626780180 -2626532 + -1148627972 1912312479 -83100674 1504688623 + + -6.7626368999481201e-01 5.1578819751739502e-01 + <_> + + 0 -1 18 -1110436427 -141552556 -788442881 1059033301 + -1719130691 -1178345416 -1102521443 -1423963940 + + -6.2948453426361084e-01 6.0341739654541016e-01 + + <_> + 5 + -1.9752599000930786e+00 + + <_> + + 0 -1 27 -1785702947 -547547947 -1761485315 -191011 + -1995924485 -72740104 -1095976257 -1086846584 + + -7.5782203674316406e-01 4.6846845746040344e-01 + <_> + + 0 -1 39 1360056540 1607733652 1363221981 -2404139 + -1115123526 -1717827448 1048783807 -1079312374 + + -6.4150768518447876e-01 5.1527595520019531e-01 + <_> + + 0 -1 44 -1060126074 -238824509 536903680 1363780187 688994 + 1342193665 -788413717 -614474865 + + -5.6712394952774048e-01 5.3354203701019287e-01 + <_> + + 0 -1 50 -1 1073537022 -285212675 -1082261513 -266243 + -1619984385 -536904452 2079972863 + + -5.3560340404510498e-01 6.0510307550430298e-01 + <_> + + 0 -1 23 571474481 869470705 219369951 2113346335 -1859444519 + -1073801157 262856381 993657368 + + -6.9949334859848022e-01 4.7212797403335571e-01 + + <_> + 5 + -1.1232472658157349e+00 + + <_> + + 0 -1 54 -209198525 1413661190 200706 -1031028670 1342246978 + 1090683040 -1320974197 -201326641 + + -7.6172041893005371e-01 3.1445312500000000e-01 + <_> + + 0 -1 15 -562303134 -351020713 -687681060 -278937155 + 2074210739 2073986273 -74059777 -65 + + -6.4060848951339722e-01 4.7522404789924622e-01 + <_> + + 0 -1 19 457708756 -1122564679 298209791 2100761337 + -1153410374 -23527032 -1146312257 -1180169800 + + -6.1004692316055298e-01 5.2203148603439331e-01 + <_> + + 0 -1 56 -857758202 181110223 -326838386 1890572927 + 1772073743 556974267 -67110257 -268436546 + + -6.1680519580841064e-01 5.0427693128585815e-01 + <_> + + 0 -1 35 966284540 -1861185520 -2128946723 1599144983 + -1568640262 -812021606 -1082090808 186259912 + + -6.8607240915298462e-01 4.8699402809143066e-01 + + <_> + 5 + -1.1578670740127563e+00 + + <_> + + 0 -1 17 -68170961 -293084402 1224843871 -536349562 + 1914930007 1615036999 -427568249 -173015109 + + -7.0355576276779175e-01 3.6879432201385498e-01 + <_> + + 0 -1 38 -225984374 -1339698556 8503296 1397211650 17690282 + 1026 1428418698 -706742369 + + -6.1560535430908203e-01 4.2747393250465393e-01 + <_> + + 0 -1 28 1367400440 353696080 -778858247 2111820247 23722697 + 1085485 199917759 455060462 + + -6.7115384340286255e-01 4.1770645976066589e-01 + <_> + + 0 -1 7 1977602766 1365111615 -1121728050 -75506241 + 1904999412 1342548476 -75269489 -2099009 + + -7.1227186918258667e-01 3.8815173506736755e-01 + <_> + + 0 -1 33 -754195830 -804126526 285313328 287547920 + -1073026872 -2113927040 -1073495932 -788012309 + + -5.5254626274108887e-01 5.0164043903350830e-01 + + <_> + 6 + -8.1348818540573120e-01 + + <_> + + 0 -1 14 320344829 -74104167 428873215 -551614349 -2136303362 + -108412247 788179407 -1616373368 + + -7.2034955024719238e-01 2.9809725284576416e-01 + <_> + + 0 -1 4 -704643113 -4533929 1082326870 -7810978 1352882687 + 2125561071 1786216411 -8209 + + -5.1959729194641113e-01 5.5615991353988647e-01 + <_> + + 0 -1 53 -243801590 -802967637 1426271746 -1007683850 + -719071406 1342486726 -173605946 -218628353 + + -5.2952307462692261e-01 5.4032027721405029e-01 + <_> + + 0 -1 26 -1719397360 -33811304 530659327 1073021083 + 1342178488 -1197471567 1332354559 221188457 + + -6.9718199968338013e-01 4.0761217474937439e-01 + <_> + + 0 -1 32 774911472 -270794532 -251332257 357829517 + -1183835398 -1412759130 1653264319 173019184 + + -8.4420329332351685e-01 3.1606295704841614e-01 + <_> + + 0 -1 9 -33554641 1079180070 -649870898 -560999525 1822128983 + 1622257847 -557127169 -247473492 + + -6.3315248489379883e-01 4.0907686948776245e-01 + + <_> + 5 + -1.0814472436904907e+00 + + <_> + + 0 -1 60 -269489361 1340063903 -2112495645 -186662433 + -88871577 160158602 -73665789 -135528513 + + -7.2124838829040527e-01 2.3564356565475464e-01 + <_> + + 0 -1 1 1147561570 -8231937 -220728609 -3718145 1883448309 + -180711173 -120018177 -268738097 + + -7.1248924732208252e-01 2.9627996683120728e-01 + <_> + + 0 -1 16 -143657486 803066203 -641576488 -1346414113 + 2038822369 1527474988 -170528044 -269615161 + + -6.1012923717498779e-01 3.9779847860336304e-01 + <_> + + 0 -1 42 -208674686 -778570287 -972684030 -772808502 + -1608535872 1174671461 1456465871 1930416427 + + -5.7085311412811279e-01 4.4576171040534973e-01 + <_> + + 0 -1 6 1060821245 -4636683 -1094763521 1039835037 -4436487 + -557998850 -16998435 -1349909272 + + -4.3154692649841309e-01 6.0856270790100098e-01 + + <_> + 5 + -1.0268830060958862e+00 + + <_> + + 0 -1 58 -268439793 1842990043 -850919954 -6303489 1873804103 + 868219595 -69484857 -4194305 + + -7.6132076978683472e-01 1.3425549864768982e-01 + <_> + + 0 -1 51 -550508545 918351897 -140393124 -1784757941 + -70477123 964518571 -617522756 -4205059 + + -5.9086549282073975e-01 3.8894322514533997e-01 + <_> + + 0 -1 41 -248266622 -739784177 -2141289952 -174370260 + 1624499111 268931154 1074787021 -210767953 + + -5.2205401659011841e-01 4.8417466878890991e-01 + <_> + + 0 -1 0 -1525134091 -1109897859 -1660522017 -1644247684 + 2074655422 -1146365853 -1975981059 -1977334748 + + -5.8343207836151123e-01 4.1282418370246887e-01 + <_> + + 0 -1 59 -814749150 -1044386650 -974208256 -570560821 + 1852832912 295171443 -415239197 -1283458081 + + -4.4459566473960876e-01 5.5129295587539673e-01 + + <_> + 7 + -1.3468582630157471e+00 + + <_> + + 0 -1 48 -22544385 -268373114 -315937931 -1707545 -1078199041 + -134163304 -477295989 -1050113 + + -6.5963971614837646e-01 3.6756756901741028e-01 + <_> + + 0 -1 2 1879015207 542897023 -652233029 -461379155 + -1618347145 1912720139 -34868294 -218103817 + + -6.0403579473495483e-01 3.4924373030662537e-01 + <_> + + 0 -1 22 470828248 -6851716 358111701 -195361684 973667294 + -1090908119 -1113556485 993534360 + + -7.1156060695648193e-01 3.0485236644744873e-01 + <_> + + 0 -1 46 -475012190 -468764761 -940574656 -1313374241 + -672152701 1350922110 -424151066 -137363457 + + -4.6654438972473145e-01 4.8787227272987366e-01 + <_> + + 0 -1 24 895540479 -4213861 1371697377 1000022554 268436724 + -96456319 -987466515 -66885 + + -4.8980873823165894e-01 4.9601224064826965e-01 + <_> + + 0 -1 10 830986078 978498018 1212634268 -7868086 -338953233 + 1955102955 2076283886 2121920686 + + -7.6825737953186035e-01 3.0441379547119141e-01 + <_> + + 0 -1 49 -464527326 -266403822 61910 -764964158 -804131566 + 690462785 105570303 -492711073 + + -6.0366225242614746e-01 3.9621585607528687e-01 + + <_> + 6 + -1.7895716428756714e+00 + + <_> + + 0 -1 21 1364573183 -582112869 2058695295 -6161477 + -1357251393 -662336771 -89413125 -3556673 + + -6.8916153907775879e-01 2.6106193661689758e-01 + <_> + + 0 -1 30 -1657268752 -45612848 486638045 1067013433 + -363278408 -1732736120 -1614242561 523377052 + + -6.9656443595886230e-01 3.0079075694084167e-01 + <_> + + 0 -1 45 -385876192 1524605990 -2059037737 -2645738 + -1884430347 -542584354 1737419071 692039206 + + -6.3620084524154663e-01 3.1837970018386841e-01 + <_> + + 0 -1 12 -279972306 -1360670259 -1823676278 -87565865 + 1161158962 2003271952 -878236737 -203951493 + + -6.3273507356643677e-01 3.5124236345291138e-01 + <_> + + 0 -1 40 -715361008 -1756993828 -2084937297 -36753112 + -1299701250 2074255770 -2096715345 153813130 + + -6.5382730960845947e-01 3.5776382684707642e-01 + <_> + + 0 -1 20 -1818091375 -741326623 -691960385 -1116518535 + -1333224993 -560015974 -1901407763 -1346762324 + + -4.9002870917320251e-01 4.4960626959800720e-01 + + <_> + 7 + -1.0691219568252563e+00 + + <_> + + 0 -1 37 -81003525 461435274 -1012705865 -10497345 -350241793 + -91580696 2005598335 -7249 + + -6.5210670232772827e-01 3.1233596801757812e-01 + <_> + + 0 -1 57 -826278137 1217917183 -1265116640 1813248574 + 1159199588 1243425723 -473966044 -520881157 + + -6.4328962564468384e-01 3.0107370018959045e-01 + <_> + + 0 -1 29 -546572126 -184109686 1342882304 -754068276 + 1653012961 1074103457 1090766283 868218843 + + -5.6011921167373657e-01 3.4936606884002686e-01 + <_> + + 0 -1 31 1980780701 -1115998562 296448463 -121827015 + -1147606888 -1346840419 985705599 -1625683479 + + -4.6067923307418823e-01 4.4133010506629944e-01 + <_> + + 0 -1 11 1189554799 1319077781 1998031309 -22283985 833051954 + 1385818172 -138953845 -1879377169 + + -5.6165486574172974e-01 3.9155927300453186e-01 + <_> + + 0 -1 52 -653270518 1105913099 -1022296000 -796692293 + 690149379 1359175685 -218376541 -1297088609 + + -5.0313746929168701e-01 4.5016640424728394e-01 + <_> + + 0 -1 25 1677398999 -9492915 -1460127170 597994023 + -2143238736 -657328155 -166293761 -1611679921 + + -4.3750682473182678e-01 5.0037056207656860e-01 + + <_> + + 0 0 3 1 + <_> + + 0 2 7 3 + <_> + + 0 4 2 2 + <_> + + 0 4 9 5 + <_> + + 0 8 4 4 + <_> + + 0 9 9 3 + <_> + + 1 0 5 1 + <_> + + 1 4 9 3 + <_> + + 1 5 2 3 + <_> + + 1 6 2 1 + <_> + + 1 7 9 4 + <_> + + 2 4 2 1 + <_> + + 2 6 3 1 + <_> + + 3 1 3 5 + <_> + + 3 1 7 1 + <_> + + 3 3 3 3 + <_> + + 3 4 3 3 + <_> + + 3 5 1 3 + <_> + + 4 0 3 1 + <_> + + 4 17 3 1 + <_> + + 5 1 3 1 + <_> + + 5 2 6 4 + <_> + + 5 15 4 1 + <_> + + 6 2 4 1 + <_> + + 6 6 4 2 + <_> + + 6 7 3 2 + <_> + + 6 8 4 1 + <_> + + 6 16 4 1 + <_> + + 7 7 5 1 + <_> + + 7 11 1 1 + <_> + + 7 14 4 1 + <_> + + 7 15 4 1 + <_> + + 8 16 4 1 + <_> + + 9 7 1 2 + <_> + + 9 15 4 1 + <_> + + 9 15 5 1 + <_> + + 10 5 1 3 + <_> + + 10 5 4 3 + <_> + + 10 6 1 3 + <_> + + 10 8 3 1 + <_> + + 10 9 3 1 + <_> + + 11 5 1 3 + <_> + + 11 9 1 2 + <_> + + 12 0 5 3 + <_> + + 12 5 1 3 + <_> + + 13 0 5 4 + <_> + + 13 5 1 1 + <_> + + 13 5 1 3 + <_> + + 13 5 3 3 + <_> + + 13 7 1 2 + <_> + + 13 8 5 4 + <_> + + 13 11 5 3 + <_> + + 14 5 1 1 + <_> + + 14 5 1 3 + <_> + + 15 5 1 3 + <_> + + 16 0 2 1 + <_> + + 16 5 2 1 + <_> + + 17 6 3 3 + <_> + + 18 5 2 1 + <_> + + 19 11 1 1 + <_> + + 22 6 1 1 + From 2d8d3a289550207ce3b3ff97d275353cc947b0fe Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Sun, 16 Oct 2016 22:10:20 -0400 Subject: [PATCH 23/30] Added simple C binding --- src/CMakeLists.txt | 8 +++ src/bindings/c/CMakeLists.txt | 24 ++++++++ src/bindings/c/alpr_c.cpp | 105 ++++++++++++++++++++++++++++++++++ src/bindings/c/alpr_c.h | 70 +++++++++++++++++++++++ src/bindings/c/alprc_test.c | 80 ++++++++++++++++++++++++++ 5 files changed, 287 insertions(+) create mode 100644 src/bindings/c/CMakeLists.txt create mode 100644 src/bindings/c/alpr_c.cpp create mode 100644 src/bindings/c/alpr_c.h create mode 100644 src/bindings/c/alprc_test.c diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 38d8120..f90a8e3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -47,6 +47,10 @@ if ( NOT DEFINED WITH_BINDING_JAVA ) SET(WITH_BINDING_JAVA ON) ENDIF() +if ( NOT DEFINED WITH_BINDING_C ) + SET(WITH_BINDING_C ON) +ENDIF() + if ( NOT DEFINED WITH_BINDING_PYTHON ) SET(WITH_BINDING_PYTHON ON) ENDIF() @@ -203,6 +207,10 @@ ENDIF() if (WITH_BINDING_PYTHON) add_subdirectory(bindings/python) ENDIF() + +if (WITH_BINDING_C) +add_subdirectory(bindings/c) +ENDIF() if (WITH_BINDING_GO) set(OPENALPR_LIB_GO openalprgo) diff --git a/src/bindings/c/CMakeLists.txt b/src/bindings/c/CMakeLists.txt new file mode 100644 index 0000000..25d08e2 --- /dev/null +++ b/src/bindings/c/CMakeLists.txt @@ -0,0 +1,24 @@ + +cmake_minimum_required (VERSION 2.6) + + +include_directories(../../openalpr/) + + +set(alprc_source + alpr_c.cpp +) + + +add_library(openalprc SHARED ${alprc_source}) + +set_target_properties(openalprc PROPERTIES SOVERSION ${OPENALPR_MAJOR_VERSION}) + +TARGET_LINK_LIBRARIES(openalprc openalpr) + + +add_executable(alprc_test alprc_test.c) +TARGET_LINK_LIBRARIES(alprc_test openalprc) + +install (TARGETS openalprc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) +install (FILES alpr_c.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include) diff --git a/src/bindings/c/alpr_c.cpp b/src/bindings/c/alpr_c.cpp new file mode 100644 index 0000000..3ef6192 --- /dev/null +++ b/src/bindings/c/alpr_c.cpp @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2016 OpenALPR Technology, Inc. + * Open source Automated License Plate Recognition [http://www.openalpr.com] + * + * This file is part of OpenALPR. + * + * OpenALPR is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License + * version 3 as published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . +*/ + +#include "alpr_c.h" +#include +#include +#include + +OPENALPR* openalpr_init(const char* country, const char* configFile, const char* runtimeDir) +{ + alpr::Alpr* alpr_inst = new alpr::Alpr(country, configFile, runtimeDir); + + return (OPENALPR*) alpr_inst; +} + +// Set the country used for plate recognition +void openalpr_set_country(OPENALPR* instance, const char* country) +{ + ((alpr::Alpr*) instance)->setCountry(country); +} + +// Update the prewarp setting without reloading the library +void openalpr_set_prewarp(OPENALPR* instance, const char* prewarp_config) +{ + ((alpr::Alpr*) instance)->setPrewarp(prewarp_config); +} + +// Update the detection mask without reloading the library +void openalpr_set_mask(OPENALPR* instance, unsigned char* pixelData, int bytesPerPixel, int imgWidth, int imgHeight) +{ + ((alpr::Alpr*) instance)->setMask(pixelData, bytesPerPixel, imgWidth, imgHeight); +} + +// Enable/disable region detection. Pass a 0 or 1 +void openalpr_set_detect_region(OPENALPR* instance, int detectRegion) +{ + ((alpr::Alpr*) instance)->setDetectRegion(detectRegion); +} + +void openalpr_set_topn(OPENALPR* instance, int topN) +{ + ((alpr::Alpr*) instance)->setTopN(topN); +} + +void openalpr_set_default_region(OPENALPR* instance, const char* region) +{ + ((alpr::Alpr*) instance)->setDefaultRegion(region); +} + + + +// Recognizes the provided image and responds with JSON. +// Caller must call free() on the returned object +char* openalpr_recognize_rawimage(OPENALPR* instance, unsigned char* pixelData, int bytesPerPixel, int imgWidth, int imgHeight, AlprCRegionOfInterest roi) +{ + std::vector rois; + alpr::AlprRegionOfInterest cpproi(roi.x, roi.y, roi.width, roi.height); + rois.push_back(cpproi); + + alpr::AlprResults results = ((alpr::Alpr*) instance)->recognize(pixelData,bytesPerPixel, imgWidth, imgHeight, rois); + std::string json_string = alpr::Alpr::toJson(results); + + char* result_obj = strdup(json_string.c_str()); + + return result_obj; + +} + +char* openalpr_recognize_encodedimage(OPENALPR* instance, unsigned char* bytes, long long length, AlprCRegionOfInterest roi) +{ + std::vector rois; + alpr::AlprRegionOfInterest cpproi(roi.x, roi.y, roi.width, roi.height); + rois.push_back(cpproi); + + std::vector byte_vector(length); + memcpy(&byte_vector[0], bytes, length*sizeof(char)); + + alpr::AlprResults results = ((alpr::Alpr*) instance)->recognize(byte_vector, rois); + std::string json_string = alpr::Alpr::toJson(results); + + char* result_obj = strdup(json_string.c_str()); + + return result_obj; +} + +void openalpr_cleanup(OPENALPR* instance) +{ + delete ((alpr::Alpr*) instance); +} \ No newline at end of file diff --git a/src/bindings/c/alpr_c.h b/src/bindings/c/alpr_c.h new file mode 100644 index 0000000..a357488 --- /dev/null +++ b/src/bindings/c/alpr_c.h @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2016 OpenALPR Technology, Inc. + * Open source Automated License Plate Recognition [http://www.openalpr.com] + * + * This file is part of OpenALPR. + * + * OpenALPR is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License + * version 3 as published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . +*/ + + +#ifndef ALPR_C_H +#define ALPR_C_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void OPENALPR; + +struct AlprCRegionOfInterest +{ + int x; + int y; + int width; + int height; +}; + +// Initializes the openALPR library and returns a pointer to the OpenALPR instance +OPENALPR* openalpr_init(const char* country, const char* configFile, const char* runtimeDir); + +// Set the country used for plate recognition +void openalpr_set_country(OPENALPR* instance, const char* country); + +// Update the prewarp setting without reloading the library +void openalpr_set_prewarp(OPENALPR* instance, const char* prewarp_config); +// Update the detection mask without reloading the library +void openalpr_set_mask(OPENALPR* instance, unsigned char* pixelData, int bytesPerPixel, int imgWidth, int imgHeight); + +// Enable/disable region detection. Pass a 0 or 1 +void openalpr_set_detect_region(OPENALPR* instance, int detectRegion); +void openalpr_set_topn(OPENALPR* instance, int topN); +void openalpr_set_default_region(OPENALPR* instance, const char* region); + +// Recognizes the provided image and responds with JSON. +// Image is expected to be raw pixel data (BGR, 3 channels) +// Caller must call free() on the returned object +char* openalpr_recognize_rawimage(OPENALPR* instance, unsigned char* pixelData, int bytesPerPixel, int imgWidth, int imgHeight, struct AlprCRegionOfInterest roi); + +// Recognizes the encoded (e.g., JPEG, PNG) image. bytes are the raw bytes for the image data. +char* openalpr_recognize_encodedimage(OPENALPR* instance, unsigned char* bytes, long long length, struct AlprCRegionOfInterest roi); + +void openalpr_cleanup(OPENALPR* instance); + + +#ifdef __cplusplus +} +#endif + +#endif /* ALPR_C_H */ + diff --git a/src/bindings/c/alprc_test.c b/src/bindings/c/alprc_test.c new file mode 100644 index 0000000..f6b9f8b --- /dev/null +++ b/src/bindings/c/alprc_test.c @@ -0,0 +1,80 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/* + * File: alprc_test.c + * Author: mhill + * + * Created on October 16, 2016, 11:09 AM + */ + +#include +#include +#include "alpr_c.h" + +void ReadFile(const char *name, char** buffer, size_t* size) +{ + FILE *file; + + //Open file + file = fopen(name, "rb"); + if (!file) + { + fprintf(stderr, "Unable to open file %s", name); + return; + } + + //Get file length + fseek(file, 0, SEEK_END); + *size=ftell(file); + fseek(file, 0, SEEK_SET); + + //Allocate memory + *buffer=(char *)malloc(*size+1); + if (!(*buffer)) + { + fprintf(stderr, "Memory error!"); + fclose(file); + return; + } + + //Read file contents into buffer + fread(*buffer, *size, 1, file); + fclose(file); + +} + +/* + * + */ +int main(int argc, char** argv) { + + OPENALPR* openalpr = openalpr_init("us", "/etc/openalpr/openalpr.conf", "/usr/share/openalpr/runtime_data/"); + + const char* IMAGE_FILE="/storage/projects/alpr/samples/testing/car1.jpg"; + size_t size; + char* buffer; + printf("Loading image: %s\n", IMAGE_FILE); + ReadFile(IMAGE_FILE, &buffer, &size); + + struct AlprCRegionOfInterest roi; + roi.x = 0; + roi.y = 0; + roi.width = 1024; + roi.height = 768; + + printf("Recognizing plates\n"); + printf("Image size: %lu\n", (long) size); + char* plate_json = openalpr_recognize_encodedimage(openalpr, buffer, size, roi); + printf("results:\n%s\n", plate_json); + free(plate_json); + free(buffer); + + openalpr_cleanup(openalpr); + + return (EXIT_SUCCESS); +} + From 90a4b2be0ea3be40580fb0349dda7499c9473490 Mon Sep 17 00:00:00 2001 From: Matthew Hill Date: Mon, 17 Oct 2016 16:08:23 -0400 Subject: [PATCH 24/30] Added windows DLL export to C lib --- src/bindings/c/CMakeLists.txt | 2 +- src/bindings/c/alpr_c.cpp | 20 ++++++++++---------- src/bindings/c/alpr_c.h | 8 +++++++- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/bindings/c/CMakeLists.txt b/src/bindings/c/CMakeLists.txt index 25d08e2..2f7e528 100644 --- a/src/bindings/c/CMakeLists.txt +++ b/src/bindings/c/CMakeLists.txt @@ -12,7 +12,7 @@ set(alprc_source add_library(openalprc SHARED ${alprc_source}) -set_target_properties(openalprc PROPERTIES SOVERSION ${OPENALPR_MAJOR_VERSION}) +#set_target_properties(openalprc PROPERTIES SOVERSION ${OPENALPR_MAJOR_VERSION}) TARGET_LINK_LIBRARIES(openalprc openalpr) diff --git a/src/bindings/c/alpr_c.cpp b/src/bindings/c/alpr_c.cpp index 3ef6192..4536a6a 100644 --- a/src/bindings/c/alpr_c.cpp +++ b/src/bindings/c/alpr_c.cpp @@ -22,7 +22,7 @@ #include #include -OPENALPR* openalpr_init(const char* country, const char* configFile, const char* runtimeDir) +OPENALPRC_DLL_EXPORT OPENALPR* openalpr_init(const char* country, const char* configFile, const char* runtimeDir) { alpr::Alpr* alpr_inst = new alpr::Alpr(country, configFile, runtimeDir); @@ -30,35 +30,35 @@ OPENALPR* openalpr_init(const char* country, const char* configFile, const char* } // Set the country used for plate recognition -void openalpr_set_country(OPENALPR* instance, const char* country) +OPENALPRC_DLL_EXPORT void openalpr_set_country(OPENALPR* instance, const char* country) { ((alpr::Alpr*) instance)->setCountry(country); } // Update the prewarp setting without reloading the library -void openalpr_set_prewarp(OPENALPR* instance, const char* prewarp_config) +OPENALPRC_DLL_EXPORT void openalpr_set_prewarp(OPENALPR* instance, const char* prewarp_config) { ((alpr::Alpr*) instance)->setPrewarp(prewarp_config); } // Update the detection mask without reloading the library -void openalpr_set_mask(OPENALPR* instance, unsigned char* pixelData, int bytesPerPixel, int imgWidth, int imgHeight) +OPENALPRC_DLL_EXPORT void openalpr_set_mask(OPENALPR* instance, unsigned char* pixelData, int bytesPerPixel, int imgWidth, int imgHeight) { ((alpr::Alpr*) instance)->setMask(pixelData, bytesPerPixel, imgWidth, imgHeight); } // Enable/disable region detection. Pass a 0 or 1 -void openalpr_set_detect_region(OPENALPR* instance, int detectRegion) +OPENALPRC_DLL_EXPORT void openalpr_set_detect_region(OPENALPR* instance, int detectRegion) { ((alpr::Alpr*) instance)->setDetectRegion(detectRegion); } -void openalpr_set_topn(OPENALPR* instance, int topN) +OPENALPRC_DLL_EXPORT void openalpr_set_topn(OPENALPR* instance, int topN) { ((alpr::Alpr*) instance)->setTopN(topN); } -void openalpr_set_default_region(OPENALPR* instance, const char* region) +OPENALPRC_DLL_EXPORT void openalpr_set_default_region(OPENALPR* instance, const char* region) { ((alpr::Alpr*) instance)->setDefaultRegion(region); } @@ -67,7 +67,7 @@ void openalpr_set_default_region(OPENALPR* instance, const char* region) // Recognizes the provided image and responds with JSON. // Caller must call free() on the returned object -char* openalpr_recognize_rawimage(OPENALPR* instance, unsigned char* pixelData, int bytesPerPixel, int imgWidth, int imgHeight, AlprCRegionOfInterest roi) +OPENALPRC_DLL_EXPORT char* openalpr_recognize_rawimage(OPENALPR* instance, unsigned char* pixelData, int bytesPerPixel, int imgWidth, int imgHeight, AlprCRegionOfInterest roi) { std::vector rois; alpr::AlprRegionOfInterest cpproi(roi.x, roi.y, roi.width, roi.height); @@ -82,7 +82,7 @@ char* openalpr_recognize_rawimage(OPENALPR* instance, unsigned char* pixelData, } -char* openalpr_recognize_encodedimage(OPENALPR* instance, unsigned char* bytes, long long length, AlprCRegionOfInterest roi) +OPENALPRC_DLL_EXPORT char* openalpr_recognize_encodedimage(OPENALPR* instance, unsigned char* bytes, long long length, AlprCRegionOfInterest roi) { std::vector rois; alpr::AlprRegionOfInterest cpproi(roi.x, roi.y, roi.width, roi.height); @@ -99,7 +99,7 @@ char* openalpr_recognize_encodedimage(OPENALPR* instance, unsigned char* bytes, return result_obj; } -void openalpr_cleanup(OPENALPR* instance) +OPENALPRC_DLL_EXPORT void openalpr_cleanup(OPENALPR* instance) { delete ((alpr::Alpr*) instance); } \ No newline at end of file diff --git a/src/bindings/c/alpr_c.h b/src/bindings/c/alpr_c.h index a357488..0219732 100644 --- a/src/bindings/c/alpr_c.h +++ b/src/bindings/c/alpr_c.h @@ -22,7 +22,13 @@ #define ALPR_C_H #ifdef __cplusplus -extern "C" { +extern "C" { +#endif + +#ifdef WIN32 + #define OPENALPRC_DLL_EXPORT __declspec( dllexport ) +#else + #define OPENALPRC_DLL_EXPORT #endif typedef void OPENALPR; From d2d07100abec382c1163ec8ef16f1f16acb921b8 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Mon, 17 Oct 2016 22:58:43 -0400 Subject: [PATCH 25/30] Added a function to the C binding to free a char* pointer --- src/bindings/c/alpr_c.cpp | 9 ++++++++- src/bindings/c/alpr_c.h | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/bindings/c/alpr_c.cpp b/src/bindings/c/alpr_c.cpp index 4536a6a..cd207e5 100644 --- a/src/bindings/c/alpr_c.cpp +++ b/src/bindings/c/alpr_c.cpp @@ -21,7 +21,8 @@ #include #include #include - +#include + OPENALPRC_DLL_EXPORT OPENALPR* openalpr_init(const char* country, const char* configFile, const char* runtimeDir) { alpr::Alpr* alpr_inst = new alpr::Alpr(country, configFile, runtimeDir); @@ -99,6 +100,12 @@ OPENALPRC_DLL_EXPORT char* openalpr_recognize_encodedimage(OPENALPR* instance, u return result_obj; } + +OPENALPRC_DLL_EXPORT void openalpr_free_response_string(char* response) +{ + free(response); +} + OPENALPRC_DLL_EXPORT void openalpr_cleanup(OPENALPR* instance) { delete ((alpr::Alpr*) instance); diff --git a/src/bindings/c/alpr_c.h b/src/bindings/c/alpr_c.h index 0219732..5212886 100644 --- a/src/bindings/c/alpr_c.h +++ b/src/bindings/c/alpr_c.h @@ -65,6 +65,11 @@ char* openalpr_recognize_rawimage(OPENALPR* instance, unsigned char* pixelData, // Recognizes the encoded (e.g., JPEG, PNG) image. bytes are the raw bytes for the image data. char* openalpr_recognize_encodedimage(OPENALPR* instance, unsigned char* bytes, long long length, struct AlprCRegionOfInterest roi); +// Frees a char* response that was provided from a recognition request. +// This is required for interoperating with managed languages (e.g., C#) that can't free the memory themselves +void openalpr_free_response_string(char* response); + +// Free the memory for the OpenALPR instance created with openalpr_init void openalpr_cleanup(OPENALPR* instance); From a78c9ddf39cd57145f96c9813479292119b49a90 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Tue, 18 Oct 2016 20:36:52 -0400 Subject: [PATCH 26/30] Added is_loaded function to C binding --- src/bindings/c/alpr_c.cpp | 5 +++++ src/bindings/c/alpr_c.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/src/bindings/c/alpr_c.cpp b/src/bindings/c/alpr_c.cpp index cd207e5..0f8cef4 100644 --- a/src/bindings/c/alpr_c.cpp +++ b/src/bindings/c/alpr_c.cpp @@ -30,6 +30,11 @@ OPENALPRC_DLL_EXPORT OPENALPR* openalpr_init(const char* country, const char* co return (OPENALPR*) alpr_inst; } +OPENALPRC_DLL_EXPORT int is_loaded(OPENALPR* instance) +{ + return (int) ((alpr::Alpr*) instance)->isLoaded(); +} + // Set the country used for plate recognition OPENALPRC_DLL_EXPORT void openalpr_set_country(OPENALPR* instance, const char* country) { diff --git a/src/bindings/c/alpr_c.h b/src/bindings/c/alpr_c.h index 5212886..278b7a5 100644 --- a/src/bindings/c/alpr_c.h +++ b/src/bindings/c/alpr_c.h @@ -44,6 +44,9 @@ struct AlprCRegionOfInterest // Initializes the openALPR library and returns a pointer to the OpenALPR instance OPENALPR* openalpr_init(const char* country, const char* configFile, const char* runtimeDir); +// Returns 1 if the library was loaded successfully, 0 otherwise +int is_loaded(OPENALPR* instance); + // Set the country used for plate recognition void openalpr_set_country(OPENALPR* instance, const char* country); From 66e1e6a181b2f35d8abea971d918f5e29f19a5dd Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Tue, 18 Oct 2016 20:54:52 -0400 Subject: [PATCH 27/30] Added prefix to is_loaded function --- src/bindings/c/alpr_c.cpp | 2 +- src/bindings/c/alpr_c.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bindings/c/alpr_c.cpp b/src/bindings/c/alpr_c.cpp index 0f8cef4..a79ec6c 100644 --- a/src/bindings/c/alpr_c.cpp +++ b/src/bindings/c/alpr_c.cpp @@ -30,7 +30,7 @@ OPENALPRC_DLL_EXPORT OPENALPR* openalpr_init(const char* country, const char* co return (OPENALPR*) alpr_inst; } -OPENALPRC_DLL_EXPORT int is_loaded(OPENALPR* instance) +OPENALPRC_DLL_EXPORT int openalpr_is_loaded(OPENALPR* instance) { return (int) ((alpr::Alpr*) instance)->isLoaded(); } diff --git a/src/bindings/c/alpr_c.h b/src/bindings/c/alpr_c.h index 278b7a5..cf00ccc 100644 --- a/src/bindings/c/alpr_c.h +++ b/src/bindings/c/alpr_c.h @@ -45,7 +45,7 @@ struct AlprCRegionOfInterest OPENALPR* openalpr_init(const char* country, const char* configFile, const char* runtimeDir); // Returns 1 if the library was loaded successfully, 0 otherwise -int is_loaded(OPENALPR* instance); +int openalpr_is_loaded(OPENALPR* instance); // Set the country used for plate recognition void openalpr_set_country(OPENALPR* instance, const char* country); From 130c2686e26dde299bcb41db9a46423b3c4d6ff3 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Tue, 18 Oct 2016 21:32:03 -0400 Subject: [PATCH 28/30] Using WIN32 instead of _MSC_VER for windows detection --- src/bindings/python/openalprpy.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings/python/openalprpy.cpp b/src/bindings/python/openalprpy.cpp index 55018d3..aa6d365 100644 --- a/src/bindings/python/openalprpy.cpp +++ b/src/bindings/python/openalprpy.cpp @@ -6,7 +6,7 @@ extern "C" { -#if defined(_MSC_VER) +#if defined(WIN32) // Microsoft #define OPENALPR_EXPORT __declspec(dllexport) #else From bee230267a033c78f5f9c47242e480d8241c1b84 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Tue, 18 Oct 2016 22:14:00 -0400 Subject: [PATCH 29/30] Renamed windows dll for Python binding --- src/bindings/python/openalpr/openalpr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings/python/openalpr/openalpr.py b/src/bindings/python/openalpr/openalpr.py index 970af66..7ecac8d 100644 --- a/src/bindings/python/openalpr/openalpr.py +++ b/src/bindings/python/openalpr/openalpr.py @@ -45,7 +45,7 @@ class Alpr(): try: # Load the .dll for Windows and the .so for Unix-based if platform.system().lower().find("windows") != -1: - self._openalprpy_lib = ctypes.cdll.LoadLibrary("openalprpy.dll") + self._openalprpy_lib = ctypes.cdll.LoadLibrary("libopenalprpy.dll") elif platform.system().lower().find("darwin") != -1: self._openalprpy_lib = ctypes.cdll.LoadLibrary("libopenalprpy.dylib") else: From 479aa4edbfd3cd0062d73fd2e0457367b3dc522f Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Tue, 18 Oct 2016 22:14:17 -0400 Subject: [PATCH 30/30] keeping track of load status without calling native function in python binding --- src/bindings/python/openalpr/openalpr.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/bindings/python/openalpr/openalpr.py b/src/bindings/python/openalpr/openalpr.py index 7ecac8d..10f38be 100644 --- a/src/bindings/python/openalpr/openalpr.py +++ b/src/bindings/python/openalpr/openalpr.py @@ -100,6 +100,7 @@ class Alpr(): self.alpr_pointer = self._initialize_func(country, config_file, runtime_dir) + self.loaded = True def unload(self): """ @@ -107,7 +108,10 @@ class Alpr(): :return: None """ - self._openalprpy_lib.dispose(self.alpr_pointer) + + if self.loaded: + self.loaded = False + self._openalprpy_lib.dispose(self.alpr_pointer) def is_loaded(self): """ @@ -115,6 +119,9 @@ class Alpr(): :return: A bool representing if OpenALPR is loaded or not """ + if not self.loaded: + return False + return self._is_loaded_func(self.alpr_pointer) def recognize_file(self, file_path):