add groundtruth, nms, xml parser

v1.6alpha
liuruoze 9 years ago
parent 569e7642c2
commit 902a02f884

File diff suppressed because it is too large Load Diff

@ -1373,3 +1373,119 @@
总图片数:204, 未识出图片:5, 定位率:97.549%
平均字符差距:0.643216, 完全匹配数:144, 完全匹配率:72.3618%
总时间:217秒, 平均执行时间:1.06373秒
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%
总时间: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%
总时间: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秒

@ -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();

@ -24,6 +24,16 @@ class CPlate {
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;
}
//! 设置与读取变量
inline void setPlateMat(Mat param) { m_plateMat = param; }
@ -38,6 +48,19 @@ 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:
//! 车牌的图块
@ -54,6 +77,11 @@ class CPlate {
//! 车牌定位的方法
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 plateScore(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);
//! 生活模式与工业模式切换
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

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

Loading…
Cancel
Save