fix bugs
This commit is contained in:
parent
02b75a504d
commit
48568aa4cd
|
@ -13,7 +13,6 @@ SET(TENSORRT_DIR "" CACHE PATH "Compile demo with TensorRT")
|
||||||
|
|
||||||
set(DEMO_NAME "ocr_system")
|
set(DEMO_NAME "ocr_system")
|
||||||
|
|
||||||
|
|
||||||
macro(safe_set_static_flag)
|
macro(safe_set_static_flag)
|
||||||
foreach(flag_var
|
foreach(flag_var
|
||||||
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
||||||
|
|
|
@ -668,7 +668,7 @@ void DisposeOutPts(OutPt *&pp) {
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
inline void InitEdge(TEdge *e, TEdge *eNext, TEdge *ePrev, const IntPoint &Pt) {
|
inline void InitEdge(TEdge *e, TEdge *eNext, TEdge *ePrev, const IntPoint &Pt) {
|
||||||
std::memset(e, 0, sizeof(TEdge));
|
std::memset(e, int(0), sizeof(TEdge));
|
||||||
e->Next = eNext;
|
e->Next = eNext;
|
||||||
e->Prev = ePrev;
|
e->Prev = ePrev;
|
||||||
e->Curr = Pt;
|
e->Curr = Pt;
|
||||||
|
@ -1895,17 +1895,17 @@ void Clipper::InsertLocalMinimaIntoAEL(const cInt botY) {
|
||||||
TEdge *rb = lm->RightBound;
|
TEdge *rb = lm->RightBound;
|
||||||
|
|
||||||
OutPt *Op1 = 0;
|
OutPt *Op1 = 0;
|
||||||
if (!lb) {
|
if (!lb || !rb) {
|
||||||
// nb: don't insert LB into either AEL or SEL
|
// nb: don't insert LB into either AEL or SEL
|
||||||
InsertEdgeIntoAEL(rb, 0);
|
InsertEdgeIntoAEL(rb, 0);
|
||||||
SetWindingCount(*rb);
|
SetWindingCount(*rb);
|
||||||
if (IsContributing(*rb))
|
if (IsContributing(*rb))
|
||||||
Op1 = AddOutPt(rb, rb->Bot);
|
Op1 = AddOutPt(rb, rb->Bot);
|
||||||
} else if (!rb) {
|
//} else if (!rb) {
|
||||||
InsertEdgeIntoAEL(lb, 0);
|
// InsertEdgeIntoAEL(lb, 0);
|
||||||
SetWindingCount(*lb);
|
// SetWindingCount(*lb);
|
||||||
if (IsContributing(*lb))
|
// if (IsContributing(*lb))
|
||||||
Op1 = AddOutPt(lb, lb->Bot);
|
// Op1 = AddOutPt(lb, lb->Bot);
|
||||||
InsertScanbeam(lb->Top.Y);
|
InsertScanbeam(lb->Top.Y);
|
||||||
} else {
|
} else {
|
||||||
InsertEdgeIntoAEL(lb, 0);
|
InsertEdgeIntoAEL(lb, 0);
|
||||||
|
@ -2547,13 +2547,13 @@ void Clipper::ProcessHorizontal(TEdge *horzEdge) {
|
||||||
if (dir == dLeftToRight) {
|
if (dir == dLeftToRight) {
|
||||||
maxIt = m_Maxima.begin();
|
maxIt = m_Maxima.begin();
|
||||||
while (maxIt != m_Maxima.end() && *maxIt <= horzEdge->Bot.X)
|
while (maxIt != m_Maxima.end() && *maxIt <= horzEdge->Bot.X)
|
||||||
maxIt++;
|
++maxIt;
|
||||||
if (maxIt != m_Maxima.end() && *maxIt >= eLastHorz->Top.X)
|
if (maxIt != m_Maxima.end() && *maxIt >= eLastHorz->Top.X)
|
||||||
maxIt = m_Maxima.end();
|
maxIt = m_Maxima.end();
|
||||||
} else {
|
} else {
|
||||||
maxRit = m_Maxima.rbegin();
|
maxRit = m_Maxima.rbegin();
|
||||||
while (maxRit != m_Maxima.rend() && *maxRit > horzEdge->Bot.X)
|
while (maxRit != m_Maxima.rend() && *maxRit > horzEdge->Bot.X)
|
||||||
maxRit++;
|
++maxRit;
|
||||||
if (maxRit != m_Maxima.rend() && *maxRit <= eLastHorz->Top.X)
|
if (maxRit != m_Maxima.rend() && *maxRit <= eLastHorz->Top.X)
|
||||||
maxRit = m_Maxima.rend();
|
maxRit = m_Maxima.rend();
|
||||||
}
|
}
|
||||||
|
@ -2576,13 +2576,13 @@ void Clipper::ProcessHorizontal(TEdge *horzEdge) {
|
||||||
while (maxIt != m_Maxima.end() && *maxIt < e->Curr.X) {
|
while (maxIt != m_Maxima.end() && *maxIt < e->Curr.X) {
|
||||||
if (horzEdge->OutIdx >= 0 && !IsOpen)
|
if (horzEdge->OutIdx >= 0 && !IsOpen)
|
||||||
AddOutPt(horzEdge, IntPoint(*maxIt, horzEdge->Bot.Y));
|
AddOutPt(horzEdge, IntPoint(*maxIt, horzEdge->Bot.Y));
|
||||||
maxIt++;
|
++maxIt;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
while (maxRit != m_Maxima.rend() && *maxRit > e->Curr.X) {
|
while (maxRit != m_Maxima.rend() && *maxRit > e->Curr.X) {
|
||||||
if (horzEdge->OutIdx >= 0 && !IsOpen)
|
if (horzEdge->OutIdx >= 0 && !IsOpen)
|
||||||
AddOutPt(horzEdge, IntPoint(*maxRit, horzEdge->Bot.Y));
|
AddOutPt(horzEdge, IntPoint(*maxRit, horzEdge->Bot.Y));
|
||||||
maxRit++;
|
++maxRit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -21,10 +21,10 @@ std::vector<std::string> OCRConfig::split(const std::string &str,
|
||||||
std::vector<std::string> res;
|
std::vector<std::string> res;
|
||||||
if ("" == str)
|
if ("" == str)
|
||||||
return res;
|
return res;
|
||||||
char *strs = new char[str.length() + 1];
|
char strs[str.length() + 1];
|
||||||
std::strcpy(strs, str.c_str());
|
std::strcpy(strs, str.c_str());
|
||||||
|
|
||||||
char *d = new char[delim.length() + 1];
|
char d[delim.length() + 1];
|
||||||
std::strcpy(d, delim.c_str());
|
std::strcpy(d, delim.c_str());
|
||||||
|
|
||||||
char *p = std::strtok(strs, d);
|
char *p = std::strtok(strs, d);
|
||||||
|
@ -61,4 +61,4 @@ void OCRConfig::PrintConfigInfo() {
|
||||||
std::cout << "=======End of Paddle OCR inference config======" << std::endl;
|
std::cout << "=======End of Paddle OCR inference config======" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace PaddleOCR
|
} // namespace PaddleOCR
|
||||||
|
|
Loading…
Reference in New Issue