Skip to content

Commit 1dadf65

Browse files
authored
Update text_segmentation.cpp
1 parent 3b6f119 commit 1dadf65

File tree

1 file changed

+6
-27
lines changed

1 file changed

+6
-27
lines changed

ocr/text_segmentation.cpp

+6-27
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
using namespace cv;
66

7-
87
#define V_PROJECT 1
98
#define H_PROJECT 2
109

@@ -16,8 +15,7 @@ typedef struct
1615
}char_range_t;
1716

1817

19-
20-
//获取文本的投影用于分割字符(垂直,水平)
18+
//获取文本的投影用于分割字符(垂直,水平)
2119
int GetTextProjection(Mat &src, vector<int>& pos, int mode)
2220
{
2321
if (mode == V_PROJECT)
@@ -48,14 +46,10 @@ int GetTextProjection(Mat &src, vector<int>& pos, int mode)
4846
}
4947
}
5048
}
51-
52-
53-
54-
5549
return 0;
5650
}
5751

58-
//获取每个分割字符的范围,min_thresh:波峰的最小幅度,min_range:两个波峰的最小间隔
52+
//获取每个分割字符的范围,min_thresh:波峰的最小幅度,min_range:两个波峰的最小间隔
5953
int GetPeekRange(vector<int> &vertical_pos, vector<char_range_t> &peek_range, int min_thresh = 2, int min_range = 10)
6054
{
6155
int begin = 0;
@@ -93,7 +87,6 @@ int GetPeekRange(vector<int> &vertical_pos, vector<char_range_t> &peek_range, in
9387
//printf("raise error!\n");
9488
}
9589
}
96-
9790
return 0;
9891
}
9992

@@ -105,7 +98,7 @@ inline void save_cut(const Mat& img, int id)
10598
imwrite(name, img);
10699
}
107100

108-
//切割字符
101+
//切割字符
109102
int CutChar(Mat &img, const vector<char_range_t>& v_peek_range, const vector<char_range_t>& h_peek_range, vector<Mat>& chars_set)
110103
{
111104
static int count = 0;
@@ -134,7 +127,6 @@ Mat cut_one_line(const Mat& src,int begin,int end)
134127
return line;
135128
}
136129

137-
138130
vector<Mat> CutSingleChar(Mat& img)
139131
{
140132
//resize(img, img, Size(), 1.5, 1.5, INTER_LANCZOS4);
@@ -145,7 +137,7 @@ vector<Mat> CutSingleChar(Mat& img)
145137
GetTextProjection(img, horizion_pos, H_PROJECT);
146138
GetPeekRange(horizion_pos, h_peek_range, 10, 10);
147139

148-
/*将每一文本行切割*/
140+
/*将每一文本行切割*/
149141
vector<Mat> lines_set;
150142
for (int i = 0; i < h_peek_range.size(); i++)
151143
{
@@ -164,22 +156,9 @@ vector<Mat> CutSingleChar(Mat& img)
164156
GetPeekRange(vertical_pos, v_peek_range);
165157
CutChar(line, v_peek_range, h_peek_range, chars_set);
166158
}
167-
168-
169159
return chars_set;
170-
171-
172160
}
173161

174-
175-
176-
177-
178-
179-
180-
181-
182-
183162
int main()
184163
{
185164
Mat img = imread("12.png", 0);
@@ -188,9 +167,9 @@ int main()
188167

189168
for (int i = 0; i < chars_set.size(); i++)
190169
{
191-
/*字符识别*/
170+
/*字符识别*/
192171
}
193172

194173
waitKey();
195174
return 0;
196-
}
175+
}

0 commit comments

Comments
 (0)