Uses 3874K of libraries. Click here for Pure Java version (11913L/83K/299K).
1 | !7 |
2 | |
3 | concept TestImage { |
4 | new Ref<PNGFile> pngFile; |
5 | S imageMD5; |
6 | int width, height; |
7 | bool textKnown; |
8 | S text; |
9 | } |
10 | |
11 | p-subst { |
12 | SimpleCRUD<TestImage> crud = new SimpleCRUD<TestImage>(TestImage) { |
13 | @Override |
14 | JComponent fieldComponent(TestImage c, S field) { |
15 | if (eq(field, "pngFile")) |
16 | ret new ImageChooser((PNGFile) cget(c, "pngFile")); |
17 | ret super.fieldComponent(c, field); |
18 | } |
19 | |
20 | @Override |
21 | void makeComponents(TestImage c, Map<S, JComponent> map) { |
22 | for (S field : listMinus((L<S>) conceptFieldsInOrder(cc), "width", "height", "imageMD5")) |
23 | map.put(field, fieldComponent(c, field)); |
24 | } |
25 | |
26 | @Override |
27 | void saveData(TestImage c, Map<S, JComponent> components) { |
28 | super.saveData(c, components); |
29 | fixEntry(c); |
30 | } |
31 | }; |
32 | /*final L<S> fields = concatLists(ll("id"), conceptFieldsInOrder(c)); |
33 | crud.renderer = func(TestImage c) { |
34 | Map map = litorderedmap(); |
35 | for (S field : fields) |
36 | map.put(field, renderForTable(cget(cc, field))); |
37 | ret map; |
38 | };*/ |
39 | |
40 | crud.show("OCR Test Images"); |
41 | bot("OCR Test Images."); |
42 | hideConsole(); |
43 | } |
44 | |
45 | answer { |
46 | if "add image * with unknown text" { |
47 | PNGFile pngFile = new PNGFile(unstructureBufferedImage($1)); |
48 | if (hasConcept(TestImage, imageMD5 := pngFile.md5())) |
49 | ret "Entry already exists"; |
50 | long id = fixEntry(cnew(TestImage, +pngFile)).id; |
51 | ret "OK, ID of new entry: " + id; |
52 | } |
53 | } |
54 | |
55 | static TestImage fixEntry(TestImage c) { |
56 | BufferedImage img = c.pngFile.has() ? c.pngFile->getImage() : null; |
57 | if (img == null) |
58 | cset(c, imageMD5 := null, width := 0, height := 0); |
59 | else |
60 | cset(c, imageMD5 := md5OfBufferedImage(img), width := img.getWidth(), height := img.getHeight()); |
61 | ret c; |
62 | } |
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1007114 |
Snippet name: | OCR Test Images [works] |
Eternal ID of this version: | #1007114/24 |
Text MD5: | ff096bbdcc268254776c18e57c7d34fe |
Transpilation MD5: | 6e06cb7398844c85b9fe9b5b98c1a78c |
Author: | stefan |
Category: | javax / ocr |
Type: | JavaX source code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2017-03-05 13:49:18 |
Source code size: | 1783 bytes / 62 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 511 / 714 |
Version history: | 23 change(s) |
Referenced in: | [show references] |