mirror of
https://github.com/kerberos-io/openalpr-base.git
synced 2025-10-06 08:56:55 +08:00
Merge branch 'master' of github.com:openalpr/openalpr
This commit is contained in:
@@ -1,9 +1,12 @@
|
|||||||
al @@###@@
|
|
||||||
ad @####
|
ad @####
|
||||||
|
|
||||||
|
al @@###@@
|
||||||
|
|
||||||
am ###@@###
|
am ###@@###
|
||||||
am ##@@###
|
am ##@@###
|
||||||
am ###@@##
|
am ###@@##
|
||||||
am ##@@##
|
am ##@@##
|
||||||
|
|
||||||
at @@???
|
at @@???
|
||||||
at @@????
|
at @@????
|
||||||
at @@?????
|
at @@?????
|
||||||
@@ -12,32 +15,72 @@ at @???
|
|||||||
at @????
|
at @????
|
||||||
at @?????
|
at @?????
|
||||||
at @??????
|
at @??????
|
||||||
|
|
||||||
az ##@@###
|
az ##@@###
|
||||||
by ####@@#
|
|
||||||
be #@@@###
|
|
||||||
be ###@@@
|
|
||||||
ba [AEJKMOT]##[AEJKMOT]###
|
ba [AEJKMOT]##[AEJKMOT]###
|
||||||
ba [T][A]######
|
ba [T][A]######
|
||||||
ba [T][T]######
|
ba [T][T]######
|
||||||
ba ######[AEJKT]
|
ba ######[AEJKT]
|
||||||
|
|
||||||
|
be #@@@###
|
||||||
|
be ###@@@
|
||||||
|
|
||||||
bg @@####@@
|
bg @@####@@
|
||||||
bg @####@@
|
bg @####@@
|
||||||
|
|
||||||
|
by ####@@#
|
||||||
|
|
||||||
|
ch @@######
|
||||||
|
ch [APM]######
|
||||||
|
|
||||||
|
cy @@@###
|
||||||
|
|
||||||
|
cz #@#####
|
||||||
|
cz #@@####
|
||||||
|
|
||||||
|
de @@@@####
|
||||||
|
de @@@@###
|
||||||
|
de @@@@##
|
||||||
|
de @@@@#
|
||||||
|
de @@@####
|
||||||
|
de @@@###
|
||||||
|
de @@@##
|
||||||
|
de @@@#
|
||||||
|
de @@@@####[HE]
|
||||||
|
de @@@@###[HE]
|
||||||
|
de @@@@##[HE]
|
||||||
|
de @@@####[HE]
|
||||||
|
de @@@###[HE]
|
||||||
|
de @@@##[HE]
|
||||||
|
de @@@#[HE]
|
||||||
|
|
||||||
|
dk @@#####
|
||||||
|
|
||||||
|
ee ###@@@
|
||||||
|
|
||||||
|
es ####@@@
|
||||||
|
es @####@@@
|
||||||
|
|
||||||
|
fi @@@###
|
||||||
|
|
||||||
|
fr @@###@@
|
||||||
|
|
||||||
|
gb @@##@@@
|
||||||
|
|
||||||
|
ge @@###@@
|
||||||
|
|
||||||
|
gi [G]####@
|
||||||
|
|
||||||
|
gr @@@####
|
||||||
|
|
||||||
hr @@###@@
|
hr @@###@@
|
||||||
hr @@####@@
|
hr @@####@@
|
||||||
hr @@###@
|
hr @@###@
|
||||||
hr @@####@
|
hr @@####@
|
||||||
cy @@@###
|
|
||||||
cz #@#####
|
|
||||||
cz #@@####
|
|
||||||
dk @@#####
|
|
||||||
ee ###@@@
|
|
||||||
fi @@@###
|
|
||||||
fr @@###@@
|
|
||||||
ge @@###@@
|
|
||||||
gi [G]####@
|
|
||||||
gr @@@####
|
|
||||||
hu @@@###
|
hu @@@###
|
||||||
is @@@##
|
|
||||||
ie ##[12][CDGLTW]######
|
ie ##[12][CDGLTW]######
|
||||||
ie ##[12][CDGKLMORSTW][DEHKLMNOSWXY]######
|
ie ##[12][CDGKLMORSTW][DEHKLMNOSWXY]######
|
||||||
ie ##[12][CDGLTW]#####
|
ie ##[12][CDGLTW]#####
|
||||||
@@ -54,27 +97,40 @@ ie ##[CDGLTW]####
|
|||||||
ie ##[CDGKLMORSTW][DEHKLMNOSWXY]####
|
ie ##[CDGKLMORSTW][DEHKLMNOSWXY]####
|
||||||
ie ##[CDGLTW]###
|
ie ##[CDGLTW]###
|
||||||
ie ##[CDGKLMORSTW][DEHKLMNOSWXY]###
|
ie ##[CDGKLMORSTW][DEHKLMNOSWXY]###
|
||||||
|
|
||||||
|
is @@@##
|
||||||
|
|
||||||
it @@###@@
|
it @@###@@
|
||||||
|
|
||||||
kz ###@@@
|
kz ###@@@
|
||||||
|
|
||||||
|
li @@#####
|
||||||
|
li @@####
|
||||||
|
li @@###
|
||||||
|
|
||||||
|
lt @@@###
|
||||||
|
|
||||||
|
lu @@####
|
||||||
|
|
||||||
lv @@####
|
lv @@####
|
||||||
lv @@###
|
lv @@###
|
||||||
lv @####
|
lv @####
|
||||||
lv @###
|
lv @###
|
||||||
li @@#####
|
|
||||||
li @@####
|
mc ????
|
||||||
li @@###
|
|
||||||
lt @@@###
|
|
||||||
lu @@####
|
|
||||||
mk @@####@@
|
|
||||||
mt @@@###
|
|
||||||
md @@@@###
|
md @@@@###
|
||||||
md [CK]@@###
|
md [CK]@@###
|
||||||
md @@@@##
|
md @@@@##
|
||||||
md [CK]@@##
|
md [CK]@@##
|
||||||
md @@@@#
|
md @@@@#
|
||||||
md [CK]@@#
|
md [CK]@@#
|
||||||
mc ????
|
|
||||||
me @@@@###
|
me @@@@###
|
||||||
|
|
||||||
|
mk @@####@@
|
||||||
|
mt @@@###
|
||||||
|
|
||||||
nl @@####
|
nl @@####
|
||||||
nl ####@@
|
nl ####@@
|
||||||
nl ##@@##
|
nl ##@@##
|
||||||
@@ -89,8 +145,10 @@ nl @@@##@
|
|||||||
nl @##@@@
|
nl @##@@@
|
||||||
nl #@@###
|
nl #@@###
|
||||||
nl ###@@#
|
nl ###@@#
|
||||||
|
|
||||||
no @@#####
|
no @@#####
|
||||||
no #####
|
no #####
|
||||||
|
|
||||||
pl @@#####
|
pl @@#####
|
||||||
pl @@####@
|
pl @@####@
|
||||||
pl @@###@@
|
pl @@###@@
|
||||||
@@ -105,34 +163,40 @@ pl @@@@@##
|
|||||||
pl @@@#####
|
pl @@@#####
|
||||||
pl @@@####@
|
pl @@@####@
|
||||||
pl @@@###@@
|
pl @@@###@@
|
||||||
|
|
||||||
pt @@####
|
pt @@####
|
||||||
pt ####@@
|
pt ####@@
|
||||||
pt ##@@##
|
pt ##@@##
|
||||||
pt @@##@@
|
pt @@##@@
|
||||||
pt @@@@##
|
pt @@@@##
|
||||||
pt ##@@@@
|
pt ##@@@@
|
||||||
|
|
||||||
ro @@###@@@
|
ro @@###@@@
|
||||||
ro @@##@@@
|
ro @@##@@@
|
||||||
ro @###@@@
|
ro @###@@@
|
||||||
ro @##@@@
|
ro @##@@@
|
||||||
|
|
||||||
|
rs @@###@@
|
||||||
|
|
||||||
ru @###@@##
|
ru @###@@##
|
||||||
ru @###@@###
|
ru @###@@###
|
||||||
|
|
||||||
|
se @@@###
|
||||||
|
|
||||||
|
si @@@@###
|
||||||
|
|
||||||
|
sk @@###@@
|
||||||
|
|
||||||
sm @####
|
sm @####
|
||||||
sm @###
|
sm @###
|
||||||
rs @@###@@
|
|
||||||
sk @@###@@
|
|
||||||
si @@@@###
|
|
||||||
es ####@@@
|
|
||||||
es @####@@@
|
|
||||||
se @@@###
|
|
||||||
ch @@######
|
|
||||||
ch [APM]######
|
|
||||||
tr ##@####
|
tr ##@####
|
||||||
tr ##@#####
|
tr ##@#####
|
||||||
tr ##@@###
|
tr ##@@###
|
||||||
tr ##@@####
|
tr ##@@####
|
||||||
tr ##@@@##
|
tr ##@@@##
|
||||||
|
|
||||||
ua @@####@@
|
ua @@####@@
|
||||||
gb @@##@@@
|
|
||||||
va [S][C][V]#####
|
va [S][C][V]#####
|
||||||
va [C][V]#####
|
va [C][V]#####
|
||||||
|
@@ -62,6 +62,11 @@ IF (WIN32 AND WITH_DAEMON)
|
|||||||
SET(WITH_DAEMON OFF)
|
SET(WITH_DAEMON OFF)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
IF (WIN32 AND WITH_TESTS)
|
||||||
|
MESSAGE(WARNING "Skipping unit tests, as it is not supported in Windows.")
|
||||||
|
SET(WITH_TESTS OFF)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(Tesseract_FRAMEWORK_PATH AND Leptonica_FRAMEWORK_PATH)
|
IF(Tesseract_FRAMEWORK_PATH AND Leptonica_FRAMEWORK_PATH)
|
||||||
MESSAGE(STATUS "Using Tesseract iOS framework: ${Tesseract_FRAMEWORK_PATH}")
|
MESSAGE(STATUS "Using Tesseract iOS framework: ${Tesseract_FRAMEWORK_PATH}")
|
||||||
MESSAGE(STATUS "Using Leptonica iOS framework: ${Leptonica_FRAMEWORK_PATH}")
|
MESSAGE(STATUS "Using Leptonica iOS framework: ${Leptonica_FRAMEWORK_PATH}")
|
||||||
|
@@ -7,13 +7,6 @@
|
|||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
|
||||||
// Microsoft
|
|
||||||
#define OPENALPR_EXPORT __declspec(dllexport)
|
|
||||||
#else
|
|
||||||
// do nothing
|
|
||||||
#define OPENALPR_EXPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//using namespace alpr;
|
//using namespace alpr;
|
||||||
OPENALPR_EXPORT Alpr AlprInit(char* country, char* configFile, char* runtimeDir) {
|
OPENALPR_EXPORT Alpr AlprInit(char* country, char* configFile, char* runtimeDir) {
|
||||||
|
@@ -1,17 +1,26 @@
|
|||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
// Microsoft
|
||||||
|
#define OPENALPR_EXPORT __declspec(dllexport)
|
||||||
|
#else
|
||||||
|
// do nothing
|
||||||
|
#define OPENALPR_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
typedef void* Alpr;
|
typedef void* Alpr;
|
||||||
|
|
||||||
Alpr AlprInit(char* country, char* configFile, char* runtimeDir);
|
OPENALPR_EXPORT Alpr AlprInit(char* country, char* configFile, char* runtimeDir);
|
||||||
void SetDetectRegion(Alpr alpr, int detectRegion);
|
OPENALPR_EXPORT void SetDetectRegion(Alpr alpr, int detectRegion);
|
||||||
void SetTopN(Alpr alpr, int topN);
|
OPENALPR_EXPORT void SetTopN(Alpr alpr, int topN);
|
||||||
void SetDefaultRegion(Alpr alpr, char* region);
|
OPENALPR_EXPORT void SetDefaultRegion(Alpr alpr, char* region);
|
||||||
int IsLoaded(Alpr alpr);
|
OPENALPR_EXPORT int IsLoaded(Alpr alpr);
|
||||||
void Unload(Alpr alpr);
|
OPENALPR_EXPORT void Unload(Alpr alpr);
|
||||||
char* RecognizeByFilePath(Alpr alpr, char* filePath);
|
OPENALPR_EXPORT char* RecognizeByFilePath(Alpr alpr, char* filePath);
|
||||||
char* RecognizeByBlob(Alpr alpr, char* imageBytes, int len);
|
OPENALPR_EXPORT char* RecognizeByBlob(Alpr alpr, char* imageBytes, int len);
|
||||||
char* GetVersion();
|
OPENALPR_EXPORT char* GetVersion();
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include "edgefinder.h"
|
#include "edgefinder.h"
|
||||||
#include "textlinecollection.h"
|
#include "textlinecollection.h"
|
||||||
|
#include "support/timing.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
@@ -325,7 +326,7 @@ namespace alpr
|
|||||||
{
|
{
|
||||||
for (unsigned int x = 0; x < crop.cols; x += stride)
|
for (unsigned int x = 0; x < crop.cols; x += stride)
|
||||||
{
|
{
|
||||||
contrast += pow( ((crop.at<unsigned char>(y,x) / 255.0) - avg_intensity), 2.0f);
|
contrast += pow( ((crop.at<unsigned char>(y,x) / 255.0) - avg_intensity), 2.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contrast /= ((float) rows) * ((float)cols);
|
contrast /= ((float) rows) * ((float)cols);
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
long tv_nsec; // Nanoseconds - [0, 999999999]
|
long tv_nsec; // Nanoseconds - [0, 999999999]
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
//#define timespec timeval
|
#define timespec timeval
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
@@ -124,6 +124,10 @@ Point LineSegment::midpoint()
|
|||||||
return Point(midX, midY);
|
return Point(midX, midY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int round_int(double r) {
|
||||||
|
return (r > 0.0) ? (r + 0.5) : (r - 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
LineSegment LineSegment::getParallelLine(float distance)
|
LineSegment LineSegment::getParallelLine(float distance)
|
||||||
{
|
{
|
||||||
float diff_x = p2.x - p1.x;
|
float diff_x = p2.x - p1.x;
|
||||||
@@ -132,8 +136,8 @@ LineSegment LineSegment::getParallelLine(float distance)
|
|||||||
float dist_x = distance * cos(angle);
|
float dist_x = distance * cos(angle);
|
||||||
float dist_y = -distance * sin(angle);
|
float dist_y = -distance * sin(angle);
|
||||||
|
|
||||||
int offsetX = (int)round(dist_x);
|
int offsetX = (int)round_int(dist_x);
|
||||||
int offsetY = (int)round(dist_y);
|
int offsetY = (int)round_int(dist_y);
|
||||||
|
|
||||||
LineSegment result(p1.x + offsetX, p1.y + offsetY,
|
LineSegment result(p1.x + offsetX, p1.y + offsetY,
|
||||||
p2.x + offsetX, p2.y + offsetY);
|
p2.x + offsetX, p2.y + offsetY);
|
||||||
|
Reference in New Issue
Block a user