프로젝트

일반

사용자정보

통계
| 개정판:

hytos / DTI_PID / DTI_PID / READ ME.txt @ 41ef00bd

이력 | 보기 | 이력해설 | 다운로드 (18.5 KB)

1
�ۼ��� : 2018.06.28(��)
2
�ۼ��� : ������ ���
3

    
4
** Ŭ����, �Լ� �ۼ�/���� �� �ּ� �ۼ� �ʿ� **
5
'''
6
	@brief		����
7
	@author		�ۼ���
8
	@date		�ۼ���
9
	@history	�ۼ���	�ۼ���	����
10
	(history�� ��� ���� �� �ۼ�)
11
'''
12

    
13
** �� ���̽� ���� �� ��⿡ ���� ������ ���� **
14

    
15
1. DTI_PID ���� �� ���
16
1) App.py
17
- 2018.06.28(��) ���� ���� ���α׷�
18
- ���α׷� ��Ÿ�Ͻ�Ʈ(*.qss) ����
19
- __main__ ���� ����
20
- ProjectDialog �� ����Ͽ�, ������Ʈ ���ÿ� ���� ������ ���޹޾� AppDocData�� ���� �� MainWindow �� ����
21

    
22
2) AppDocData.py
23
- ���α׷� ������ ����ϴ� ���� Configuration, Database ������ ���� ���
24
- Source, Area, Config, NominalPipeSize, Color, AppDocData �� Ŭ������ ����
25
- Singleton���� ������ AppDocData�� �����Ͽ� �� ������ ����
26
- Source : QtImageViewer�� ��µǴ� �̹��� ���� �� ��ȯ
27
- Area : ������������ ������ �� Drawing, Note ���� ���� ���� ���� �� ��ȯ
28
- Config : ���� Configuration�� ���� ���� ����
29
- NominalPipeSize : ����� Nominal Pipe �� ���� ���� ���� �� ��ȯ
30
- Color : ����� ���� �� �ɺ��� ���� �⺻ ���� ����
31
- AppDocData : �ַ� Database�� ����, Source, Area �� ��Ÿ �ٸ� Ŭ������ ������ �����ϰų�, �׸� �ҷ����µ� ���
32

    
33
3) AreaOcrTestModule.py
34
- Tesseract�� �̿��� ���� ���� OCR ����� �׽�Ʈ�ϱ� ���� ���
35
- ������ ������ �ʴ� ���
36

    
37
4) azure_handwrite_ocr_module.py
38
- Azure Computer Vision API �� Handwrite OCR�� ����ϱ� ���� ���
39
- ���� ������ �ʴ� ���
40
- azure_ocr_module �� ū ���̴� ������, azure_ocr_module �� ��� ������ �ؽ�Ʈ ������ �ƴ� �ؽ�Ʈ ���� ����� ����Ǿ� ����� �ڵ尡 ������
41

    
42
5) azure_ocr_module.py
43
- https://westus.dev.cognitive.microsoft.com/docs/services/5adf991815e1060e6355ad44/operations/56f91f2e778daf14a499e1fc
44
- ���޵� �̹����� ���Ե� �ؽ�Ʈ ����
45
- Orientation, Angle, Text, BoundingBox ������ ��ȯ
46
- Orientation : Up, Down, Left, Right �� ���� �־�����, ó�� �νĵ� �ؽ�Ʈ�� �������� �ٸ� �ؽ�Ʈ�� ����
47
- ���� Line ������ �ؽ�Ʈ�� ���� / �ʱ⿡�� Word ������ ����
48
- TextInfo �� �����Ͽ� ������ ����������, ���α׷� �� Azure OCR�� �뵵�� ����Ǹ鼭 ����� �ؽ�Ʈ ������ �������� ����
49

    
50
6) DTI_PID.py
51
- �ɺ�, �ؽ�Ʈ, ���� ���� ���� �ڵ尡 ������ִ� ���
52
- �ɺ��� �ش� ��⿡�� ���� ó�� / �ؽ�Ʈ, ���� ������ ��� �ٸ� ����� ȣ���� �� ��ó��
53
- �ʱ⿡ �ۼ��Ǿ� Ŭ������ �ƴ� �Լ��� �������� ������ ���� �� �Լ� ȣ�� �� Ŭ���� ���� ���� ���ǵ� �Ķ���͸� ����
54
- MainWindow �κ��� ����� ��� executeRecognition() �� recognizeLine() �� ȣ�� (2018.06.28 ����)
55
- executeRecognition() �� ��� ũ�� �Ʒ��� ������ ���� (2018.06.28 ����)
56

    
57
	[1] �����Ϸ��� TargetSymbol ����Ʈ �ʱ�ȭ
58
	[2] �ؽ�Ʈ ���� ����
59
	[3] ���⿡ ����� ���� �̹��� �ʱ�ȭ �� �ؽ�Ʈ(����, ��Ʈ) ���� ����
60
	[4] TargetSymbol ����Ʈ�� ��ȸ�Ͽ� ���� �� �ɺ� ����
61
		- Template Matching �� ���� ����
62
		- ��Ī�Ǵ� Key Point ���� �񱳸� ���� ���͸�
63
	[5] ����� �ɺ� �� �ؽ�Ʈ�� �� �̹���(Canvas)�� �׸�
64
	[6] ����� �ɺ��� �������κ��� ����
65
	[7] ����� �ɺ��� ���� ������ �������� �簢�� ������ �׸�
66
	[8] ����� �ؽ�Ʈ�� �������κ��� ����
67

    
68
- recognizeLine() �� ��� ũ�� �Ʒ��� ������ ���� (2018.06.28 ����)
69

    
70
	[1] ����� �׷��� ���� �� ȭ��ǥ ����
71
	[2] ����� �׷��� �ɺ� ���� ȹ�� �� �� �ɺ��� �������� ����� ���� ����
72
	[3] ���� ������ ������ �ϳ��� ����
73
	[4] ���ΰ� �ɺ��� ����
74
	[5] ���ΰ� ������ ����
75
	[6] �� ������ EngineeringLineItem ���� ���� �� QtImageViewer ���� �߰�
76
	[7] ȭ��ǥ �߰�
77

    
78
7) MainWindow.py
79
- ��� �޴� ����, ���� ��� Ʈ�� �� ���̺� ������ ������ ���� ����, QtImageViewer, ���� ��� Ʈ�� �� ���̺� ������ ������ ���� �������� ����
80
- ���� �޴� ���� �� �޴� �� �Ϻδ� ��� ���� ������ ǥ���ϱ� ���� üũ�ڽ��� �����Ǿ� �̸� �����ϱ� ���� QActionGroup ���� ���� ����
81
- �� ���� �޴��� Commands ���� ���� *Command.py �� �����Ǿ� ������, QtImageViewer.command �� ġȯ�Ͽ� ���
82
- ���� �̹��� ���� �� openImageDrawing() �Լ� ȣ�� �� ���õ� ���鿡 ���� ������ ���� �� Ʈ���� ǥ��
83
- ���� �̹��� ���� �� �̹� ������ �߰�����(xml)�� ���� ��� �ش� ������ ������� �ɺ�, ����, �ؽ�Ʈ�� QtImageViewer �� ǥ��
84

    
85
8) Project.py
86
- ������Ʈ ������ �����ϰ� �ִ� Ŭ����
87
- ������Ʈ ��θ� �������� DB, SVG, TEMP, OUTPUT ���� ��θ� ��ȯ�ϴ� getter �Լ� ����
88

    
89
9) ProjectDialog.py
90
- ������Ʈ�� ����, �����ϱ� ���� ���̾�α�
91
- QDialog.exec_() �� ���� ��µDZ� ������ ���̾�α� �ܺο� ��Ŀ���� �̵����� ����
92

    
93
10) ConfigurationDialog.py
94
- ���α׷� ������ �ʿ��� �������� �����ϱ� ���� ���̾�α�
95

    
96
11) SymbolTreeWidget.py
97
- MainWindow ���� ��ܿ� ��ġ�� TreeWidget
98
- ���� ������� ��ϵ� �ɺ� �̹��� ����Ʈ�� Tree �������� ǥ��
99
- �ɺ��� ������� ���콺 ���� Ŭ���� ��� [����, ũ�Ժ���, ����] �� ������ Context Menu ǥ��
100
- ��µǴ� �ɺ� �̹����� Symbol Type �� ���� Tree ����
101
- �ɺ��� ������� ���� Ŭ�� �� SymbolEditorDialog ǥ��
102
- �ɺ��� ������� Ŭ�� �� �ϴ� QSymbolPropertyTableWidget �� �ɺ� ���� ���
103
- �ɺ� �巡��, ��� �� QtImageViewer �� �ɺ� ����
104

    
105
12) OcrResultDialog.py
106
- MainWindow ���� �޴� �� OCR �Ǵ� ����ǿ� QtImageViewer �� ǥ�õ� �ؽ�Ʈ�� ����Ŭ���� ��� ǥ�õǴ� ���̾�α�
107
- ��� ���� �̹��� �� ����� �ؽ�Ʈ�� ȸ�� �ɼ� ����
108
- 90�� ���� ȸ���� �����ϸ�, ������ �ؽ�Ʈ�� ���������� ȸ���Ͽ� ��ġ�� �� Re-Detect ��ư�� Ŭ���� �� �ؽ�Ʈ ����
109
- Ȯ�� ��ư Ŭ�� �� ����� �ؽ�Ʈ�� ����, ȸ�� ������ ������ TextInfo ��ȯ
110

    
111
13) QSymbolPropertyTableWidget.py
112
- SymbolTreeWidget ���� ���õ� �ɺ��� ������ ���
113
- TableWidget���� ���� �� Database�� ��� �ݿ��ϴ� ��ȹ�� �־�����, ��� �����Ƿ� ���� ���� ������
114

    
115
14) RecognitionDialog.py
116
- �ɺ�, �ؽ�Ʈ �� ������ �����ϱ� ���� ���̾�α�
117
- 2���� üũ�ڽ�, �����ư, ���� ��� ����Ʈ, ���α׷����ٷ� ����
118
- �ش� ��� ���� �ִ� Worker�� procCounter() �� ȣ���Ͽ� ���� ����
119
- startThread() ������ ���⿡ �ʿ��� ���� �� ������ ����
120

    
121
15) ItemPropertyTableWidget.py
122
- ResultTreeWidget���� ���õ� �׸��� ������ ���
123

    
124
16) ItemTreeWidget.py
125
- ����� �ɺ�, ���γѹ�, ��Ʈ(NOTE 1, NOTE 2, ...) ����Ʈ�� Tree ���·� ����
126
- ���γѹ� ������ ��� ���콺 ��Ŭ�� �� ���� ���� ����
127
- ���� ���� �� ���� �����۵鵵 ���� ����
128
- QtImageViewer �� Scene ���� ���� �� ����
129
- ����� ������ ���� �� �ش� ��ġ�� QtImageViewer �� �̵� �� �� �εǸ�, ���̶����� ȿ�� ǥ��
130

    
131
17) QSymbolDisplayDialog.py
132
- SymbolTreeWidget ���� �ɺ� ������� ���콺 ��Ŭ���� �� �޴� ���� �� ��µǴ� ���̾�α�
133
- �ܼ��� �ɺ� �̹����� ���
134

    
135
18) SymbolEditorDialog.py
136
- ���⿡ ����� �ɺ��� ���, �����ϱ� ���� ���̾�α�
137
- ���� ������ ���� ��ư Ŭ�� �� ���� ��ü�� ����� ä�� ���̾�α� ���
138
- Hand, Crop, Pen, Eraser, Area Eraser, Fit Image, Remove Text, Rotation, Flip, Zoom, Show Guideline �޴��� ����
139
- �� �޴� ���� �� QtImageViewer.command �� �� �޴��� �´� Command�� ġȯ�Ͽ� ���
140
- �ɺ� ����, ���� �� ���� ���ϸ��� ���� ��� ���ϸ�(1) �� ���� �̸� ����
141
- ���� ID �� ��� 100�� �ڸ��̻��� ī�װ�, ������ ī�װ� �� ���� ������ ��� �� (2018.06.28 ����)
142

    
143
	��) 100, 101, 201, 202 �� ��� [[100, 101], [201, 202]] �� ���� TargetSymbol�� ����Ǿ� �� ī�װ� ���� ���� ����
144

    
145
- ���� �ɺ� �� �ΰ� �ɺ��� ��ϵǴ� ������ SPPID ���� ����� ���� �ɺ���
146
- �ΰ� �ɺ��� ��� �޺��ڽ� ������ �߰� ��ư�� ������ ���
147
- Original Point �� �ɺ� �� 1��, Connection Point �� �ɺ��� 0�� �̻� ��� ����
148
- ���� ������ ���� üũ �� �ɺ� ���� �������� �ش� �ɺ��� �������� ����
149
- ��� ���� ���� üũ �� �ش� ��ġ�� �ɺ� ����
150

    
151
19) QtImageViewer.py
152
- https://github.com/marcel-goldschen-ohm/PyQtImageViewer
153
- Ȯ�� �� �̹��� ���� ��Ģ�� Qt.KeepAspectRatio ���
154

    
155
20) Symbol.py
156
- SymbolBase �� ��ӹ��� Ŭ����
157
- ���� ���� ���� �����͸� ����
158

    
159
21) SymbolBase.py
160
- Target Symbol ������ ���� �� �ʿ��� ���� �����͸� ����
161
- �ɺ��� �� ���(SVG, IMAGE)�� ��ȯ�ϴ� getter �Լ� ����
162

    
163
22) tesseract_ocr_module.py
164
- �ַ� ���Ǵ� �Լ��� getTextInfo()
165
	[1] �ؽ�Ʈ ������ �����ϴ� pytesseract.image_to_string() �� �������� �� Char ���� ������ �����ϴ� pytesseract.image_to_boxes �� ���
166
	[2] ����� �ؽ�Ʈ ������ ���� ��� �ؽ�Ʈ ���� ���� ����
167
	[3] �� Char�� ���� �� ������ ������ Line ������ �������� ���� ���ο� �ִ��� �˻� �� ���� (QRectF.intersects() �̿�)
168
	[4] ����� �ؽ�Ʈ ������ TextInfo �� �����Ͽ� ��ȯ
169

    
170
23) TextInfo.py
171
- ����� �ؽ�Ʈ ������ ������ Ŭ����
172

    
173
24) TextItemFactory.py
174
- EngineeringTextItem ���� �������� ���� �� ���
175
- EngineeringTextItem ���� �� �ʿ��� �����͸� �����Ͽ�, �ش� �����Ϳ� �´� Ÿ���� �������� ��ȯ
176
- ���� ������ ������ ��� (2018.06.28 ����)
177

    
178
	[1] QEngineeringNoteItem
179
	[2] QEngineeringLineNoItem
180
	[3] QEngineeringSizeTextItem
181
	[4] QEngineeringTagNoTextItem
182
	[5] EngineeringTextItem
183

    
184
25) XmlGenerator.py
185
- �߰����� �� SPPID ��ȯ�� XML ���� ������ ���� ���
186
- writeXmlOnScene() : �߰� ���� xml ����
187
- generateOutputXml() : SPPID ��ȯ�� xml ����
188

    
189

    
190

    
191
2. Commands ���� �� ���
192
1) AreaEraserCommand.py
193
- QtImageViewer ������ �巡���Ͽ� ������ ������ ���(255, 255, 255) �ȼ��� ��ü
194

    
195
2) AreaOcrCommand.py
196
- QtImageViewer ������ �巡���Ͽ� ������ ������ �ؽ�Ʈ�� ����
197
- �ؽ�Ʈ ���� �� Ȯ�� ��ư Ŭ�� �� ����� �ؽ�Ʈ�� QtImageViewer�� Scene�� �ݿ��Ǿ� ǥ��
198

    
199
3) AreaZoomCommand.py
200
- QtImageViewer ������ �巡���Ͽ� ������ ������ Ȯ��
201

    
202
4) ConnectionPointCommand.py
203
- �ɺ� ����/���� �� Connection Point�� �����ϱ� ���� Command
204
- ���콺 �̵� �� Crosshair ǥ��
205
- Connection Point�� ǥ���ϱ� ���� drawCircle() �� ��� static ���� ����
206

    
207
5) CreateSymbolCommand.py
208
- QtImageViewer ������ �巡���Ͽ� ������ ������ �������� QSymbolEditorDialog �� ������� ���ο� �ɺ��� �����ϱ� ���� Command
209
- ���� MainWindow ���� �޴��� ������� �ʾ�, ������ ������ �ʰ� ����
210

    
211
6) CropCommand.py
212
- QtImageViewer ������ �巡���Ͽ� ������ ������ �߶󳻱� ���� Command
213

    
214
7) DefaultCommand.py
215
- MainWindow ���� ����ϴ� QtImageViewer�� �д� ����� �����ϱ� ���� Command
216

    
217
8) EraserCommand.py
218
- ������ �ȼ��� �ش��ϴ� �κ��� ���(255, 255, 255) �ȼ��� ��ü
219
- �ش� ��ư ���� �ִ� SpinBox �� ������ ũ�⿡ ���� ������� ��ü�Ǵ� ������ ũ�Ⱑ ����
220

    
221
9) FitImageCommand.py
222
- ���� ���� �ɺ� ���� �� ���� �ܰ��� �ִ� ������(0, 0, 0) �ȼ��� ������ŭ �߶󳻱� ���� Command
223

    
224
10) FlipImageCommand.py
225
- �������� ���� �̹����� ���� �Ǵ� ���η� ������Ű�� ���� Command
226

    
227
11) HandCommand.py
228
- QtImageViewer ���� �д� ����� �����ϱ� ���� Command
229

    
230
12) OriginalPointCommand.py
231
- �ɺ� ����/���� �� Original Point�� �����ϱ� ���� Command
232
- ���콺, �̵� �� Crosshair ǥ��
233
- Original Point�� ǥ���ϱ� ���� drawCircle() �� �����ϱ� ���� removeCircle() �� ��� static ���� ����
234
- Original Point�� 1���� ���� ����
235

    
236
13) PenCommand.py
237
- ������ �ȼ��� �ش��ϴ� �κ��� ������(0, 0, 0) �ȼ��� ��ü
238
- �ش� ��ư ���� �ִ� SpinBox �� ������ ũ�⿡ ���� ���������� ��ü�Ǵ� ������ ũ�Ⱑ ����
239

    
240
14) RemoveTextCommand.py
241
- �ɺ� ����/���� �� ����� �� �ִ� Command
242
- ����� �ؽ�Ʈ ������ ���(255, 255, 255) �ȼ��� ��ü
243

    
244
15) RotateImageCommand.py
245
- �������� ���� �̹����� �ð� �Ǵ� �ݽð� �������� ȸ����Ű�� ���� Command
246

    
247
16) ZoomCommand.py
248
- QtImageViewer ���� ������ �κ��� �������� ���� ������ŭ Ȯ�� �Ǵ� ����ϱ� ���� Command
클립보드 이미지 추가 (최대 크기: 500 MB)