Skip to content

Commit 617b0c0

Browse files
committed
Update to Tesseract4Delphi 1.2
Fixed memory leak in TTesseractBaseAPI.GetIterator. Added several helper functions to uTesseractMiscFunctions. Renamed arguments in TOnProgressEvent. Added aOcrEngineMode and aConfigs parameters to TTesseractOCR.Initialize. Fixed creation issue in TTesseractResultIterator and TTesseractPageIterator. Added overloaded TTesseractPageIterator.BoundingBox. Added overloaded TTesseractPageIterator.Baseline. Added TTesseractResultIterator.PageIterator Added TTesseractResultIterator.ChoiceIterator Added more code comments to uTesseractTypes
1 parent 57c5175 commit 617b0c0

34 files changed

+2734
-722
lines changed

demos/Delphi_FMX_Windows/SimpleOCR/uMainForm.fmx

Lines changed: 145 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -18,102 +18,198 @@ object MainForm: TMainForm
1818
Size.Height = 40.000000000000000000
1919
Size.PlatformDefault = False
2020
TabOrder = 0
21-
object Button1: TButton
21+
object OpenSampleBtn: TButton
2222
Align = Left
2323
Margins.Right = 8.000000000000000000
2424
Position.X = 8.000000000000000000
2525
Position.Y = 8.000000000000000000
26-
Size.Width = 97.000000000000000000
26+
Size.Width = 120.000000000000000000
2727
Size.Height = 24.000000000000000000
2828
Size.PlatformDefault = False
29-
TabOrder = 3
29+
TabOrder = 0
3030
Text = 'Open Sample'
31-
OnClick = Button1Click
31+
OnClick = OpenSampleBtnClick
3232
end
33-
object Button2: TButton
33+
object OpenBtn: TButton
3434
Align = Left
3535
Margins.Right = 8.000000000000000000
36-
Position.X = 113.000000000000000000
36+
Position.X = 136.000000000000000000
3737
Position.Y = 8.000000000000000000
38-
Size.Width = 88.000000000000000000
38+
Size.Width = 120.000000000000000000
3939
Size.Height = 24.000000000000000000
4040
Size.PlatformDefault = False
41-
TabOrder = 2
42-
Text = 'Open ...'
43-
OnClick = Button2Click
41+
TabOrder = 1
42+
Text = 'Open image ...'
43+
OnClick = OpenBtnClick
4444
end
45-
object Button3: TButton
45+
object RecognizeBtn: TButton
4646
Align = Left
4747
Margins.Right = 8.000000000000000000
48-
Position.X = 209.000000000000000000
48+
Position.X = 264.000000000000000000
4949
Position.Y = 8.000000000000000000
50-
Size.Width = 88.000000000000000000
50+
Size.Width = 120.000000000000000000
5151
Size.Height = 24.000000000000000000
5252
Size.PlatformDefault = False
53-
TabOrder = 1
53+
TabOrder = 2
5454
Text = 'Recognize'
55-
OnClick = Button3Click
55+
OnClick = RecognizeBtnClick
5656
end
57-
object ProgressBar1: TProgressBar
58-
Align = Left
59-
Orientation = Horizontal
60-
Margins.Right = 8.000000000000000000
61-
Position.X = 305.000000000000000000
62-
Position.Y = 8.000000000000000000
63-
Size.Width = 100.000000000000000000
57+
object Layout3: TLayout
58+
Align = Client
59+
Padding.Left = 16.000000000000000000
60+
Size.Width = 599.000000000000000000
6461
Size.Height = 24.000000000000000000
6562
Size.PlatformDefault = False
66-
Visible = False
63+
TabOrder = 3
64+
object Label1: TLabel
65+
Align = Left
66+
Position.X = 16.000000000000000000
67+
Size.Width = 41.000000000000000000
68+
Size.Height = 24.000000000000000000
69+
Size.PlatformDefault = False
70+
Text = 'Mode'
71+
TabOrder = 0
72+
end
73+
object ModeCb: TComboBox
74+
Align = Client
75+
Items.Strings = (
76+
'Orientation and script detection only'
77+
78+
'Automatic page segmentation with orientation and script detectio' +
79+
'n'
80+
'Automatic page segmentation, but no OSD, or OCR'
81+
'Fully automatic page segmentation, but no OSD'
82+
'Assume a single column of text of variable sizes'
83+
'Assume a single uniform block of vertically aligned text'
84+
'Assume a single uniform block of text'
85+
'Treat the image as a single text line'
86+
'Treat the image as a single word'
87+
'Treat the image as a single word in a circle'
88+
'Treat the image as a single character'
89+
'Find as much text as possible in no particular order'
90+
'Sparse text with orientation and script det.'
91+
'Treat the image as a single text line, Tesseract-specific')
92+
ItemIndex = 0
93+
Size.Width = 542.000000000000000000
94+
Size.Height = 24.000000000000000000
95+
Size.PlatformDefault = False
96+
TabOrder = 1
97+
end
6798
end
6899
end
69100
object Layout1: TLayout
70101
Align = Client
71-
Size.Width = 649.000000000000000000
72-
Size.Height = 624.000000000000000000
102+
Size.Width = 696.000000000000000000
103+
Size.Height = 602.000000000000000000
73104
Size.PlatformDefault = False
74105
TabOrder = 1
75106
object Image1: TImage
76107
MultiResBitmap = <
77108
item
78109
end>
79110
Align = Client
80-
Size.Width = 649.000000000000000000
81-
Size.Height = 624.000000000000000000
111+
Size.Width = 696.000000000000000000
112+
Size.Height = 602.000000000000000000
82113
Size.PlatformDefault = False
83114
end
84115
end
85-
object Layout2: TLayout
86-
Align = Right
87-
Position.X = 657.000000000000000000
88-
Position.Y = 40.000000000000000000
89-
Size.Width = 342.000000000000000000
90-
Size.Height = 624.000000000000000000
91-
Size.PlatformDefault = False
92-
TabOrder = 2
93-
object Memo1: TMemo
94-
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
95-
DataDetectorTypes = []
96-
Align = Client
97-
Size.Width = 342.000000000000000000
98-
Size.Height = 624.000000000000000000
99-
Size.PlatformDefault = False
100-
TabOrder = 0
101-
Viewport.Width = 338.000000000000000000
102-
Viewport.Height = 620.000000000000000000
103-
end
104-
end
105116
object Splitter1: TSplitter
106117
Align = Right
107118
Cursor = crHSplit
108119
MinSize = 20.000000000000000000
109-
Position.X = 649.000000000000000000
120+
Position.X = 696.000000000000000000
110121
Position.Y = 40.000000000000000000
111122
Size.Width = 8.000000000000000000
112-
Size.Height = 624.000000000000000000
123+
Size.Height = 602.000000000000000000
113124
Size.PlatformDefault = False
114125
end
115126
object OpenDialog1: TOpenDialog
116127
Left = 488
117128
Top = 320
118129
end
130+
object TabControl1: TTabControl
131+
Align = Right
132+
Position.X = 704.000000000000000000
133+
Position.Y = 40.000000000000000000
134+
Size.Width = 295.000000000000000000
135+
Size.Height = 602.000000000000000000
136+
Size.PlatformDefault = False
137+
TabIndex = 0
138+
TabOrder = 4
139+
TabPosition = PlatformDefault
140+
Sizes = (
141+
295s
142+
576s
143+
295s
144+
576s)
145+
object TextTabItem: TTabItem
146+
CustomIcon = <
147+
item
148+
end>
149+
IsSelected = True
150+
Size.Width = 74.000000000000000000
151+
Size.Height = 26.000000000000000000
152+
Size.PlatformDefault = False
153+
StyleLookup = ''
154+
TabOrder = 0
155+
Text = 'Text result'
156+
object Memo1: TMemo
157+
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
158+
DataDetectorTypes = []
159+
ReadOnly = True
160+
Align = Client
161+
Size.Width = 295.000000000000000000
162+
Size.Height = 576.000000000000000000
163+
Size.PlatformDefault = False
164+
TabOrder = 0
165+
Viewport.Width = 291.000000000000000000
166+
Viewport.Height = 572.000000000000000000
167+
end
168+
end
169+
object AnalysisTabItem: TTabItem
170+
CustomIcon = <
171+
item
172+
end>
173+
IsSelected = False
174+
Size.Width = 63.000000000000000000
175+
Size.Height = 26.000000000000000000
176+
Size.PlatformDefault = False
177+
StyleLookup = ''
178+
TabOrder = 0
179+
Text = 'Analysis'
180+
object Memo2: TMemo
181+
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
182+
DataDetectorTypes = []
183+
ReadOnly = True
184+
Align = Client
185+
Size.Width = 295.000000000000000000
186+
Size.Height = 576.000000000000000000
187+
Size.PlatformDefault = False
188+
TabOrder = 0
189+
Viewport.Width = 291.000000000000000000
190+
Viewport.Height = 572.000000000000000000
191+
end
192+
end
193+
end
194+
object StatusBar1: TStatusBar
195+
Position.Y = 642.000000000000000000
196+
ShowSizeGrip = True
197+
Size.Width = 999.000000000000000000
198+
Size.Height = 22.000000000000000000
199+
Size.PlatformDefault = False
200+
TabOrder = 5
201+
object StatusLbl: TLabel
202+
Align = Left
203+
AutoSize = True
204+
Size.Width = 0.000000000000000000
205+
Size.Height = 22.000000000000000000
206+
Size.PlatformDefault = False
207+
TabOrder = 0
208+
end
209+
end
210+
object TesseractOCR1: TTesseractOCR
211+
OnProgress = TesseractOCR1Progress
212+
Left = 248
213+
Top = 168
214+
end
119215
end

0 commit comments

Comments
 (0)