Conflicts:
	Demo.vcxproj.filters
	accuracy.txt
	include/easypr/config.h
	include/easypr/core/chars_identify.h
	include/easypr/core/plate.h
	include/easypr/core/plate_judge.h
	include/easypr/core/plate_recognize.h
	src/core/chars_identify.cpp
	src/core/chars_recognise.cpp
	src/core/plate_detect.cpp
	src/core/plate_judge.cpp
	src/core/plate_recognize.cpp
	test/accuracy.hpp
	test/chars.hpp
	vcprojs/demo.vcxproj
	vcprojs/demo.vcxproj.filters
	vcprojs/demo.vcxproj.filters.orig
	vcprojs/libeasypr.vcxproj
	vcprojs/libeasypr.vcxproj.filters
v1.6alpha
liuruoze 9 years ago
commit 93f8337539

@ -1281,46 +1281,46 @@
总图片数:204张, 未识出图片:6张, 定位率:97.0588%
平均字符差距:0.550505个, 完全匹配数:144张, 完全匹配率:72.7273%
总时间:195秒, 平均执行时间:0.955882秒
2015-08-03 14:05:55
总图片数:204张, 未识出图片:6张, 定位率:97.0588%
平均字符差距:0.550505个, 完全匹配数:143张, 完全匹配率:72.2222%
总时间:291秒, 平均执行时间:1.42647
2016-05-30 15:08:22
总图片数:204张, 未识出图片:6张, 定位率:97.0588%
平均字符差距:0.550505个, 完全匹配数:143张, 完全匹配率:72.2222%
总时间:310秒, 平均执行时间:1.51961
2016-05-30 16:12:30
总图片数:10张, 未识出图片:0张, 定位率:100%
平均字符差距:0.6个, 完全匹配数:8张, 完全匹配率:80%
总时间:9秒, 平均执行时间:0.9
2016-05-30 16:18:39
总图片数:10张, 未识出图片:0张, 定位率:100%
平均字符差距:0.6个, 完全匹配数:8张, 完全匹配率:80%
总时间:8秒, 平均执行时间:0.8
2016-05-30 16:25:23
总图片数:10张, 未识出图片:0张, 定位率:100%
平均字符差距:0.6个, 完全匹配数:8张, 完全匹配率:80%
总时间:8秒, 平均执行时间:0.8
2016-05-30 16:41:45
总图片数:10张, 未识出图片:0张, 定位率:100%
平均字符差距:0.6个, 完全匹配数:8张, 完全匹配率:80%
总时间:8秒, 平均执行时间:0.8
2016-05-30 16:56:59
总图片数:10张, 未识出图片:0张, 定位率:100%
平均字符差距:0.6个, 完全匹配数:8张, 完全匹配率:80%
总时间:8秒, 平均执行时间:0.8
2016-05-30 17:08:54
总图片数:204张, 未识出图片:6张, 定位率:97.0588%
平均字符差距:0.550505个, 完全匹配数:143张, 完全匹配率:72.2222%
总时间:324秒, 平均执行时间:1.58824
2016-05-30 17:17:21
总图片数:10张, 未识出图片:0张, 定位率:100%
平均字符差距:0.6个, 完全匹配数:8张, 完全匹配率:80%
总时间:9秒, 平均执行时间:0.9
2016-05-30 17:20:29
总图片数:10张, 未识出图片:0张, 定位率:100%
平均字符差距:0.6个, 完全匹配数:8张, 完全匹配率:80%
总时间:7秒, 平均执行时间:0.7秒
2015-12-03 19:52:21
总图片数:204张, 未识出图片:3张, 定位率:98.5294%
平均字符差距:0.681592个, 完全匹配数:141张, 完全匹配率:70.1493%
总时间:171秒, 平均执行时间:0.838235
2015-12-03 19:53:11
总图片数:21张, 未识出图片:7张, 定位率:66.6667%
平均字符差距:2.35714个, 完全匹配数:4张, 完全匹配率:28.5714%
总时间:4秒, 平均执行时间:0.190476
2015-12-03 20:11:38
总图片数:204张, 未识出图片:3张, 定位率:98.5294%
平均字符差距:0.681592个, 完全匹配数:141张, 完全匹配率:70.1493%
总时间:155秒, 平均执行时间:0.759804
2015-12-03 20:35:20
总图片数:204张, 未识出图片:3张, 定位率:98.5294%
平均字符差距:0.641791个, 完全匹配数:144张, 完全匹配率:71.6418%
总时间:161秒, 平均执行时间:0.789216
2015-12-30 07:58:57
总图片数:204张, 未识出图片:3张, 定位率:98.5294%
平均字符差距:0.681592个, 完全匹配数:141张, 完全匹配率:70.1493%
总时间:174秒, 平均执行时间:0.852941
2015-12-30 08:07:06
总图片数:204张, 未识出图片:3张, 定位率:98.5294%
平均字符差距:0.641791个, 完全匹配数:144张, 完全匹配率:71.6418%
总时间:179秒, 平均执行时间:0.877451
2015-12-30 08:13:36
总图片数:204张, 未识出图片:3张, 定位率:98.5294%
平均字符差距:0.696517个, 完全匹配数:144张, 完全匹配率:71.6418%
总时间:179秒, 平均执行时间:0.877451
2015-12-30 08:38:13
总图片数:204张, 未识出图片:3张, 定位率:98.5294%
平均字符差距:0.681592个, 完全匹配数:141张, 完全匹配率:70.1493%
总时间:178秒, 平均执行时间:0.872549
2016-01-12 09:46:45
总图片数:204张, 未识出图片:5张, 定位率:97.549%
平均字符差距:0.688442个, 完全匹配数:141张, 完全匹配率:70.8543%
总时间:180秒, 平均执行时间:0.882353
2016-01-12 09:53:28
总图片数:204张, 未识出图片:57张, 定位率:72.0588%
平均字符差距:1.4898个, 完全匹配数:87张, 完全匹配率:59.1837%
总时间:187秒, 平均执行时间:0.916667秒
2016-01-12 10:00:05
总图片数:204张, 未识出图片:5张, 定位率:97.549%
平均字符差距:0.688442个, 完全匹配数:141张, 完全匹配率:70.8543%
@ -1373,15 +1373,139 @@
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.643216, 完全匹配数:144, 完全匹配率:72.3618%
总时间:217秒, 平均执行时间:1.06373秒
2016-06-13 15:12:01
2016-04-14 21:19:51
总图片数:1, 未识出图片:0, 定位率:100%
平均字符差距:8, 完全匹配数:0, 完全匹配率:0%
总时间:2秒, 平均执行时间:2秒
2016-04-14 21:21:58
总图片数:1, 未识出图片:0, 定位率:100%
平均字符差距:8, 完全匹配数:0, 完全匹配率:0%
总时间:107秒, 平均执行时间:107秒
2016-05-30 21:33:01
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.643216, 完全匹配数:144, 完全匹配率:72.3618%
总时间:324秒, 平均执行时间:1.58824秒
2016-06-13 15:17:44
总图片数:8, 未识出图片:7, 定位率:12.5%
平均字符差距:1, 完全匹配数:0, 完全匹配率:0%
总时间:8秒, 平均执行时间:1秒
2016-06-13 16:47:30
总时间:188秒, 平均执行时间:0.921569秒
2016-05-30 21:35:29
总图片数:10, 未识出图片:0, 定位率:100%
平均字符差距:0.6, 完全匹配数:8, 完全匹配率:80%
总时间:6秒, 平均执行时间:0.6秒
2016-05-30 21:36:00
总图片数:10, 未识出图片:0, 定位率:100%
平均字符差距:0.6, 完全匹配数:8, 完全匹配率:80%
总时间:6秒, 平均执行时间:0.6秒
2016-05-30 21:46:00
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.643216, 完全匹配数:144, 完全匹配率:72.3618%
总时间:320秒, 平均执行时间:1.56863秒
总时间:190秒, 平均执行时间:0.931373秒
2016-05-30 22:11:47
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.643216, 完全匹配数:144, 完全匹配率:72.3618%
总时间:188秒, 平均执行时间:0.921569秒
2016-05-31 08:34:11
总图片数:1, 未识出图片:1, 定位率:0%
平均字符差距:0, 完全匹配数:0, 完全匹配率:0%
总时间:38秒, 平均执行时间:38秒
2016-05-31 09:50:04
总图片数:1, 未识出图片:1, 定位率:0%
平均字符差距:0, 完全匹配数:0, 完全匹配率:0%
总时间:83秒, 平均执行时间:83秒
2016-05-31 09:52:11
总图片数:1, 未识出图片:1, 定位率:0%
平均字符差距:0, 完全匹配数:0, 完全匹配率:0%
总时间:75秒, 平均执行时间:75秒
2016-05-31 09:53:43
总图片数:1, 未识出图片:1, 定位率:0%
平均字符差距:0, 完全匹配数:0, 完全匹配率:0%
总时间:82秒, 平均执行时间:82秒
2016-05-31 10:00:18
总图片数:1, 未识出图片:1, 定位率:0%
平均字符差距:0, 完全匹配数:0, 完全匹配率:0%
总时间:73秒, 平均执行时间:73秒
2016-05-31 10:15:29
总图片数:1, 未识出图片:1, 定位率:0%
平均字符差距:0, 完全匹配数:0, 完全匹配率:0%
总时间:7秒, 平均执行时间:7秒
2016-05-31 10:43:54
总图片数:1, 未识出图片:1, 定位率:0%
平均字符差距:0, 完全匹配数:0, 完全匹配率:0%
总时间:366秒, 平均执行时间:366秒
2016-05-31 15:39:20
总图片数:3, 未识出图片:0, 定位率:100%
平均字符差距:4.66667, 完全匹配数:0, 完全匹配率:0%
总时间:25秒, 平均执行时间:8.33333秒
2016-05-31 15:42:50
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.638191, 完全匹配数:145, 完全匹配率:72.8643%
总时间:184秒, 平均执行时间:0.901961秒
2016-05-31 15:57:25
总图片数:3, 未识出图片:0, 定位率:100%
平均字符差距:4.33333, 完全匹配数:0, 完全匹配率:0%
总时间:1秒, 平均执行时间:0.333333秒
2016-05-31 16:01:00
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.552764, 完全匹配数:148, 完全匹配率:74.3719%
总时间:185秒, 平均执行时间:0.906863秒
2016-05-31 20:29:46
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.552764, 完全匹配数:148, 完全匹配率:74.3719%
总时间:15579秒, 平均执行时间:76.3676秒
2016-05-31 20:39:55
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.552764, 完全匹配数:148, 完全匹配率:74.3719%
总时间:197秒, 平均执行时间:0.965686秒
2016-06-01 15:52:23
总图片数:24, 未识出图片:15, 定位率:37.5%
平均字符差距:3.77778, 完全匹配数:1, 完全匹配率:11.1111%
总时间:40秒, 平均执行时间:1.66667秒
2016-06-01 15:55:25
总图片数:24, 未识出图片:15, 定位率:37.5%
平均字符差距:3.77778, 完全匹配数:1, 完全匹配率:11.1111%
总时间:146秒, 平均执行时间:6.08333秒
2016-06-01 17:42:24
总图片数:42, 未识出图片:22, 定位率:47.619%
平均字符差距:3.35, 完全匹配数:3, 完全匹配率:15%
总时间:5314秒, 平均执行时间:126.524秒
2016-06-13 19:38:10
总图片数:200, 未识出图片:5, 定位率:97.5%
平均字符差距:0.553846, 完全匹配数:146, 完全匹配率:74.8718%
总时间:187秒, 平均执行时间:0.935秒
2016-06-13 19:39:44
总图片数:42, 未识出图片:22, 定位率:47.619%
平均字符差距:3.35, 完全匹配数:3, 完全匹配率:15%
总时间:41秒, 平均执行时间:0.97619秒
2016-06-13 19:57:56
总图片数:200, 未识出图片:5, 定位率:97.5%
平均字符差距:0.553846, 完全匹配数:146, 完全匹配率:74.8718%
总时间:185秒, 平均执行时间:0.925秒
2016-06-13 21:05:50
总图片数:200, 未识出图片:5, 定位率:97.5%
平均字符差距:0.553846, 完全匹配数:146, 完全匹配率:74.8718%
总时间:185秒, 平均执行时间:0.925秒
2016-06-13 21:19:33
总图片数:200, 未识出图片:9, 定位率:95.5%
平均字符差距:0.581152, 完全匹配数:143, 完全匹配率:74.8691%
总时间:186秒, 平均执行时间:0.93秒
2016-06-13 21:57:59
总图片数:200, 未识出图片:7, 定位率:96.5%
平均字符差距:0.678756, 完全匹配数:133, 完全匹配率:68.9119%
总时间:195秒, 平均执行时间:0.975秒
2016-06-14 07:48:35
总图片数:200, 未识出图片:7, 定位率:96.5%
平均字符差距:0.689119, 完全匹配数:132, 完全匹配率:68.3938%
总时间:182秒, 平均执行时间:0.91秒
2016-06-14 07:58:05
总图片数:200, 未识出图片:10, 定位率:95%
平均字符差距:1.11053, 完全匹配数:117, 完全匹配率:61.5789%
总时间:182秒, 平均执行时间:0.91秒
2016-06-14 08:04:41
总图片数:200, 未识出图片:7, 定位率:96.5%
平均字符差距:0.689119, 完全匹配数:132, 完全匹配率:68.3938%
总时间:189秒, 平均执行时间:0.945秒
2016-06-14 08:13:28
总图片数:200, 未识出图片:7, 定位率:96.5%
平均字符差距:0.689119, 完全匹配数:132, 完全匹配率:68.3938%
总时间:187秒, 平均执行时间:0.935秒
2016-06-14 08:32:20
总图片数:200, 未识出图片:7, 定位率:96.5%
平均字符差距:0.689119, 完全匹配数:132, 完全匹配率:68.3938%
总时间:192秒, 平均执行时间:0.96秒

@ -6,7 +6,7 @@
#include <string>
#include <vector>
#include <opencv2/opencv.hpp>
#include "opencv2/opencv.hpp"
namespace easypr {

@ -45,6 +45,7 @@ static const char *kChars[] = {
/* 31 */
};
static const int kCharactersNumber = 34;
static const int kCharsTotalNumber = 65;
static bool kDebug = false;

@ -3,7 +3,7 @@
#include "easypr/util/kv.h"
#include <memory>
#include <opencv2/opencv.hpp>
#include "opencv2/opencv.hpp"
namespace easypr {
@ -11,7 +11,9 @@ class CharsIdentify {
public:
static CharsIdentify* instance();
std::pair<std::string, std::string> identify(cv::Mat input);
int classify(cv::Mat f, bool isChinses = false);
std::pair<std::string, std::string> identify(cv::Mat input, bool isChinese = false);
private:
CharsIdentify();

@ -20,11 +20,21 @@ class CPlate {
public:
bool bColored;
//! 构造函数
//! 构造函ć•
CPlate();
//! 设置与读取变量
CPlate(const CPlate& plate)
{
m_plateMat = plate.m_plateMat;
m_score = plate.m_score;
m_platePos = plate.m_platePos;
m_plateStr = plate.m_plateStr;
m_locateType = plate.m_locateType;
}
//! 设置与读ĺŹĺŹ<C4BA>é‡
inline void setPlateMat(Mat param) { m_plateMat = param; }
inline Mat getPlateMat() const { return m_plateMat; }
@ -38,8 +48,21 @@ class CPlate {
inline void setPlateLocateType(LocateType param) { m_locateType = param; }
inline LocateType getPlateLocateType() const { return m_locateType; }
inline void setPlateScore(double param) { m_score = param; }
inline double getPlateScore() const { return m_score; }
bool operator < (const CPlate& plate) const
{
return (m_score < plate.m_score);
}
bool operator < (const CPlate& plate)
{
return (m_score < plate.m_score);
}
private:
//! 车牌的图块
//! 车牌的图ĺť
Mat m_plateMat;
@ -47,13 +70,18 @@ class CPlate {
RotatedRect m_platePos;
//! 车牌字符串
//! 车牌字符ä¸
String m_plateStr;
//! 车牌定位的方法
//! 车牌定位的方ćł
LocateType m_locateType;
//! 车牌的置信度
double m_score;
};
} /*! \namespace easypr*/

@ -14,6 +14,7 @@ class PlateJudge {
//! 对多幅车牌进行SVM判断
int plateJudge(const std::vector<CPlate> &, std::vector<CPlate> &);
int plateJudgeUsingNMS(const std::vector<CPlate> &, std::vector<CPlate> &);
//! 车牌判断
@ -22,6 +23,7 @@ class PlateJudge {
//! 车牌判断(一副图像)
int plateJudge(const Mat &inMat, int &result);
int plateSetScore(CPlate& plate);
private:
PlateJudge();

@ -25,9 +25,12 @@ class CPlateRecognize : public CPlateDetect, public CCharsRecognise {
CPlateRecognize();
//! 车牌检测与字符识别
int plateRecognize(Mat src, std::vector<CPlate> &licenseVec);
int plateRecognize(Mat src, std::vector<std::string> &licenseVec);
int plateRecognizeAsText(Mat src, std::vector<CPlate> &licenseVec);
int plateRecognizeAsTextNM(Mat src, std::vector<CPlate> &licenseVec);
//! 生活模å¼<C3A5>与工业模å¼<C3A5>切æ<E280A1>
inline void setLifemode(bool param) { CPlateDetect::setPDLifemode(param); }

@ -5,7 +5,7 @@
#include <iostream>
#include <string>
#include <vector>
#include <opencv2/core/core.hpp>
#include "opencv2/core/core.hpp"
#if defined(WIN32) || defined(_WIN32)
#define OS_WINDOWS

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<tagset>
<image>
<imageName>ÍîA2F560</imageName>
<taggedRectangles>
<taggedRectangle x="455" y="167" width="70" height="20" rotation="0" locateType="0">À¶ÅÆ:ÍîA2F560</taggedRectangle>
</taggedRectangles>
</image>
<image>
<imageName>ÍîA2F56D</imageName>
<taggedRectangles>
<taggedRectangle x="455" y="167" width="70" height="20" rotation="0" locateType="0">À¶ÅÆ:ÍîA2F560</taggedRectangle>
</taggedRectangles>
</image>
<image>
<imageName>ÍîAA3610</imageName>
<taggedRectangles>
<taggedRectangle x="279" y="446" width="39" height="141" rotation="-89" locateType="1">À¶ÅÆ:ÍîAA3610</taggedRectangle>
</taggedRectangles>
</image>
<image>
<imageName>ÍîAA361D</imageName>
<taggedRectangles>
<taggedRectangle x="279" y="446" width="39" height="141" rotation="-89" locateType="1">À¶ÅÆ:ÍîAA3610</taggedRectangle>
</taggedRectangles>
</image>
</tagset>

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 274 KiB

After

Width:  |  Height:  |  Size: 274 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save