1097 lines
60 KiB
Plaintext
1097 lines
60 KiB
Plaintext
Compiled from "ThermalImageProcesser.java"
|
|
public class com.elotouch.thermallib.ThermalImageProcesser {
|
|
private static final java.lang.String TAG;
|
|
|
|
public static final int IMAGE_HEIGHT;
|
|
|
|
public static final int IMAGE_WIDTH;
|
|
|
|
public static final float MIN_TEMP;
|
|
|
|
public static final float MAX_TEMP;
|
|
|
|
public static final int MAX_GRAY;
|
|
|
|
public static final int MIN_GRAY;
|
|
|
|
public static final float MIN_TEMP_THRESHOLD;
|
|
|
|
public static final float MAX_TEMP_THRESHOLD;
|
|
|
|
private final int COLOR_LEFT;
|
|
|
|
private final int COLOR_L1;
|
|
|
|
private final int COLOR_MIDDLE;
|
|
|
|
private final int COLOR_R1;
|
|
|
|
private final int COLOR_RIGHT;
|
|
|
|
public int[] rawtempData;
|
|
|
|
public android.graphics.Bitmap orgBitmap;
|
|
|
|
public int[] orgBitmapPixels;
|
|
|
|
public android.graphics.Bitmap colorRenderBitmap;
|
|
|
|
public float[] procPixels;
|
|
|
|
public float[] horizenCount;
|
|
|
|
public float[] horizenDiff;
|
|
|
|
public int totalCount;
|
|
|
|
public int startY;
|
|
|
|
public int endY;
|
|
|
|
public int startX;
|
|
|
|
public int endX;
|
|
|
|
public android.graphics.Bitmap faceBitmap;
|
|
|
|
public android.graphics.Rect faceRect;
|
|
|
|
private static final int SUM_1;
|
|
|
|
private float[] CORE_1;
|
|
|
|
private float[] CORE_2;
|
|
|
|
private float CORE_VERT_FILL_SUM;
|
|
|
|
private float[] CORE_VERT_FILL;
|
|
|
|
private float[] CORE_1D_AVG;
|
|
|
|
private float[] CORE_1D_DIFF;
|
|
|
|
private int getGrayThreshold();
|
|
Code:
|
|
0: bipush 30
|
|
2: ireturn
|
|
|
|
com.elotouch.thermallib.ThermalImageProcesser(int[]);
|
|
Code:
|
|
0: aload_0
|
|
1: invokespecial #2 // Method java/lang/Object."<init>":()V
|
|
4: aload_0
|
|
5: ldc #3 // int -16711936
|
|
7: putfield #4 // Field COLOR_LEFT:I
|
|
10: aload_0
|
|
11: ldc #5 // int -8388864
|
|
13: putfield #6 // Field COLOR_L1:I
|
|
16: aload_0
|
|
17: sipush -256
|
|
20: putfield #7 // Field COLOR_MIDDLE:I
|
|
23: aload_0
|
|
24: ldc #8 // int -33024
|
|
26: putfield #9 // Field COLOR_R1:I
|
|
29: aload_0
|
|
30: ldc #10 // int -65536
|
|
32: putfield #11 // Field COLOR_RIGHT:I
|
|
35: aload_0
|
|
36: iconst_m1
|
|
37: putfield #12 // Field startY:I
|
|
40: aload_0
|
|
41: iconst_m1
|
|
42: putfield #13 // Field endY:I
|
|
45: aload_0
|
|
46: iconst_m1
|
|
47: putfield #14 // Field startX:I
|
|
50: aload_0
|
|
51: iconst_m1
|
|
52: putfield #15 // Field endX:I
|
|
55: aload_0
|
|
56: aconst_null
|
|
57: putfield #16 // Field faceRect:Landroid/graphics/Rect;
|
|
60: aload_0
|
|
61: bipush 9
|
|
63: newarray float
|
|
65: dup
|
|
66: iconst_0
|
|
67: ldc #17 // float 0.05f
|
|
69: fastore
|
|
70: dup
|
|
71: iconst_1
|
|
72: ldc #18 // float 0.2f
|
|
74: fastore
|
|
75: dup
|
|
76: iconst_2
|
|
77: ldc #17 // float 0.05f
|
|
79: fastore
|
|
80: dup
|
|
81: iconst_3
|
|
82: ldc #18 // float 0.2f
|
|
84: fastore
|
|
85: dup
|
|
86: iconst_4
|
|
87: ldc #19 // float 0.45f
|
|
89: fastore
|
|
90: dup
|
|
91: iconst_5
|
|
92: ldc #18 // float 0.2f
|
|
94: fastore
|
|
95: dup
|
|
96: bipush 6
|
|
98: ldc #17 // float 0.05f
|
|
100: fastore
|
|
101: dup
|
|
102: bipush 7
|
|
104: ldc #18 // float 0.2f
|
|
106: fastore
|
|
107: dup
|
|
108: bipush 8
|
|
110: ldc #17 // float 0.05f
|
|
112: fastore
|
|
113: putfield #20 // Field CORE_1:[F
|
|
116: aload_0
|
|
117: bipush 9
|
|
119: newarray float
|
|
121: dup
|
|
122: iconst_0
|
|
123: fconst_0
|
|
124: fastore
|
|
125: dup
|
|
126: iconst_1
|
|
127: ldc #21 // float -1.0f
|
|
129: fastore
|
|
130: dup
|
|
131: iconst_2
|
|
132: fconst_0
|
|
133: fastore
|
|
134: dup
|
|
135: iconst_3
|
|
136: ldc #21 // float -1.0f
|
|
138: fastore
|
|
139: dup
|
|
140: iconst_4
|
|
141: ldc #22 // float 4.0f
|
|
143: fastore
|
|
144: dup
|
|
145: iconst_5
|
|
146: ldc #21 // float -1.0f
|
|
148: fastore
|
|
149: dup
|
|
150: bipush 6
|
|
152: fconst_0
|
|
153: fastore
|
|
154: dup
|
|
155: bipush 7
|
|
157: ldc #21 // float -1.0f
|
|
159: fastore
|
|
160: dup
|
|
161: bipush 8
|
|
163: fconst_0
|
|
164: fastore
|
|
165: putfield #23 // Field CORE_2:[F
|
|
168: aload_0
|
|
169: ldc #24 // float 20.0f
|
|
171: putfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
174: aload_0
|
|
175: bipush 9
|
|
177: newarray float
|
|
179: dup
|
|
180: iconst_0
|
|
181: fconst_1
|
|
182: aload_0
|
|
183: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
186: fdiv
|
|
187: fastore
|
|
188: dup
|
|
189: iconst_1
|
|
190: ldc #26 // float 9.0f
|
|
192: aload_0
|
|
193: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
196: fdiv
|
|
197: fastore
|
|
198: dup
|
|
199: iconst_2
|
|
200: fconst_1
|
|
201: aload_0
|
|
202: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
205: fdiv
|
|
206: fastore
|
|
207: dup
|
|
208: iconst_3
|
|
209: fconst_1
|
|
210: aload_0
|
|
211: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
214: fdiv
|
|
215: fastore
|
|
216: dup
|
|
217: iconst_4
|
|
218: fconst_0
|
|
219: aload_0
|
|
220: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
223: fdiv
|
|
224: fastore
|
|
225: dup
|
|
226: iconst_5
|
|
227: fconst_1
|
|
228: aload_0
|
|
229: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
232: fdiv
|
|
233: fastore
|
|
234: dup
|
|
235: bipush 6
|
|
237: fconst_1
|
|
238: aload_0
|
|
239: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
242: fdiv
|
|
243: fastore
|
|
244: dup
|
|
245: bipush 7
|
|
247: ldc #26 // float 9.0f
|
|
249: aload_0
|
|
250: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
253: fdiv
|
|
254: fastore
|
|
255: dup
|
|
256: bipush 8
|
|
258: fconst_1
|
|
259: aload_0
|
|
260: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
263: fdiv
|
|
264: fastore
|
|
265: putfield #27 // Field CORE_VERT_FILL:[F
|
|
268: aload_0
|
|
269: iconst_3
|
|
270: newarray float
|
|
272: dup
|
|
273: iconst_0
|
|
274: ldc #28 // float 0.33333334f
|
|
276: fastore
|
|
277: dup
|
|
278: iconst_1
|
|
279: ldc #28 // float 0.33333334f
|
|
281: fastore
|
|
282: dup
|
|
283: iconst_2
|
|
284: ldc #28 // float 0.33333334f
|
|
286: fastore
|
|
287: putfield #29 // Field CORE_1D_AVG:[F
|
|
290: aload_0
|
|
291: iconst_2
|
|
292: newarray float
|
|
294: dup
|
|
295: iconst_0
|
|
296: ldc #21 // float -1.0f
|
|
298: fastore
|
|
299: dup
|
|
300: iconst_1
|
|
301: fconst_1
|
|
302: fastore
|
|
303: putfield #30 // Field CORE_1D_DIFF:[F
|
|
306: aload_0
|
|
307: aload_1
|
|
308: putfield #31 // Field rawtempData:[I
|
|
311: aload_0
|
|
312: invokespecial #32 // Method _proprocessArray:()V
|
|
315: aload_0
|
|
316: invokespecial #33 // Method processBitmap:()V
|
|
319: return
|
|
|
|
com.elotouch.thermallib.ThermalImageProcesser(android.graphics.Bitmap);
|
|
Code:
|
|
0: aload_0
|
|
1: invokespecial #2 // Method java/lang/Object."<init>":()V
|
|
4: aload_0
|
|
5: ldc #3 // int -16711936
|
|
7: putfield #4 // Field COLOR_LEFT:I
|
|
10: aload_0
|
|
11: ldc #5 // int -8388864
|
|
13: putfield #6 // Field COLOR_L1:I
|
|
16: aload_0
|
|
17: sipush -256
|
|
20: putfield #7 // Field COLOR_MIDDLE:I
|
|
23: aload_0
|
|
24: ldc #8 // int -33024
|
|
26: putfield #9 // Field COLOR_R1:I
|
|
29: aload_0
|
|
30: ldc #10 // int -65536
|
|
32: putfield #11 // Field COLOR_RIGHT:I
|
|
35: aload_0
|
|
36: iconst_m1
|
|
37: putfield #12 // Field startY:I
|
|
40: aload_0
|
|
41: iconst_m1
|
|
42: putfield #13 // Field endY:I
|
|
45: aload_0
|
|
46: iconst_m1
|
|
47: putfield #14 // Field startX:I
|
|
50: aload_0
|
|
51: iconst_m1
|
|
52: putfield #15 // Field endX:I
|
|
55: aload_0
|
|
56: aconst_null
|
|
57: putfield #16 // Field faceRect:Landroid/graphics/Rect;
|
|
60: aload_0
|
|
61: bipush 9
|
|
63: newarray float
|
|
65: dup
|
|
66: iconst_0
|
|
67: ldc #17 // float 0.05f
|
|
69: fastore
|
|
70: dup
|
|
71: iconst_1
|
|
72: ldc #18 // float 0.2f
|
|
74: fastore
|
|
75: dup
|
|
76: iconst_2
|
|
77: ldc #17 // float 0.05f
|
|
79: fastore
|
|
80: dup
|
|
81: iconst_3
|
|
82: ldc #18 // float 0.2f
|
|
84: fastore
|
|
85: dup
|
|
86: iconst_4
|
|
87: ldc #19 // float 0.45f
|
|
89: fastore
|
|
90: dup
|
|
91: iconst_5
|
|
92: ldc #18 // float 0.2f
|
|
94: fastore
|
|
95: dup
|
|
96: bipush 6
|
|
98: ldc #17 // float 0.05f
|
|
100: fastore
|
|
101: dup
|
|
102: bipush 7
|
|
104: ldc #18 // float 0.2f
|
|
106: fastore
|
|
107: dup
|
|
108: bipush 8
|
|
110: ldc #17 // float 0.05f
|
|
112: fastore
|
|
113: putfield #20 // Field CORE_1:[F
|
|
116: aload_0
|
|
117: bipush 9
|
|
119: newarray float
|
|
121: dup
|
|
122: iconst_0
|
|
123: fconst_0
|
|
124: fastore
|
|
125: dup
|
|
126: iconst_1
|
|
127: ldc #21 // float -1.0f
|
|
129: fastore
|
|
130: dup
|
|
131: iconst_2
|
|
132: fconst_0
|
|
133: fastore
|
|
134: dup
|
|
135: iconst_3
|
|
136: ldc #21 // float -1.0f
|
|
138: fastore
|
|
139: dup
|
|
140: iconst_4
|
|
141: ldc #22 // float 4.0f
|
|
143: fastore
|
|
144: dup
|
|
145: iconst_5
|
|
146: ldc #21 // float -1.0f
|
|
148: fastore
|
|
149: dup
|
|
150: bipush 6
|
|
152: fconst_0
|
|
153: fastore
|
|
154: dup
|
|
155: bipush 7
|
|
157: ldc #21 // float -1.0f
|
|
159: fastore
|
|
160: dup
|
|
161: bipush 8
|
|
163: fconst_0
|
|
164: fastore
|
|
165: putfield #23 // Field CORE_2:[F
|
|
168: aload_0
|
|
169: ldc #24 // float 20.0f
|
|
171: putfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
174: aload_0
|
|
175: bipush 9
|
|
177: newarray float
|
|
179: dup
|
|
180: iconst_0
|
|
181: fconst_1
|
|
182: aload_0
|
|
183: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
186: fdiv
|
|
187: fastore
|
|
188: dup
|
|
189: iconst_1
|
|
190: ldc #26 // float 9.0f
|
|
192: aload_0
|
|
193: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
196: fdiv
|
|
197: fastore
|
|
198: dup
|
|
199: iconst_2
|
|
200: fconst_1
|
|
201: aload_0
|
|
202: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
205: fdiv
|
|
206: fastore
|
|
207: dup
|
|
208: iconst_3
|
|
209: fconst_1
|
|
210: aload_0
|
|
211: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
214: fdiv
|
|
215: fastore
|
|
216: dup
|
|
217: iconst_4
|
|
218: fconst_0
|
|
219: aload_0
|
|
220: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
223: fdiv
|
|
224: fastore
|
|
225: dup
|
|
226: iconst_5
|
|
227: fconst_1
|
|
228: aload_0
|
|
229: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
232: fdiv
|
|
233: fastore
|
|
234: dup
|
|
235: bipush 6
|
|
237: fconst_1
|
|
238: aload_0
|
|
239: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
242: fdiv
|
|
243: fastore
|
|
244: dup
|
|
245: bipush 7
|
|
247: ldc #26 // float 9.0f
|
|
249: aload_0
|
|
250: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
253: fdiv
|
|
254: fastore
|
|
255: dup
|
|
256: bipush 8
|
|
258: fconst_1
|
|
259: aload_0
|
|
260: getfield #25 // Field CORE_VERT_FILL_SUM:F
|
|
263: fdiv
|
|
264: fastore
|
|
265: putfield #27 // Field CORE_VERT_FILL:[F
|
|
268: aload_0
|
|
269: iconst_3
|
|
270: newarray float
|
|
272: dup
|
|
273: iconst_0
|
|
274: ldc #28 // float 0.33333334f
|
|
276: fastore
|
|
277: dup
|
|
278: iconst_1
|
|
279: ldc #28 // float 0.33333334f
|
|
281: fastore
|
|
282: dup
|
|
283: iconst_2
|
|
284: ldc #28 // float 0.33333334f
|
|
286: fastore
|
|
287: putfield #29 // Field CORE_1D_AVG:[F
|
|
290: aload_0
|
|
291: iconst_2
|
|
292: newarray float
|
|
294: dup
|
|
295: iconst_0
|
|
296: ldc #21 // float -1.0f
|
|
298: fastore
|
|
299: dup
|
|
300: iconst_1
|
|
301: fconst_1
|
|
302: fastore
|
|
303: putfield #30 // Field CORE_1D_DIFF:[F
|
|
306: aload_0
|
|
307: aload_1
|
|
308: putfield #34 // Field orgBitmap:Landroid/graphics/Bitmap;
|
|
311: aload_0
|
|
312: invokespecial #35 // Method _preprocessBitmap:()V
|
|
315: aload_0
|
|
316: invokespecial #33 // Method processBitmap:()V
|
|
319: return
|
|
|
|
private int getColor(int, int, double);
|
|
Code:
|
|
0: iconst_0
|
|
1: istore 5
|
|
3: iconst_0
|
|
4: istore 6
|
|
6: iload 6
|
|
8: iconst_4
|
|
9: if_icmpge 77
|
|
12: iload_1
|
|
13: iload 6
|
|
15: bipush 8
|
|
17: imul
|
|
18: ishr
|
|
19: sipush 255
|
|
22: iand
|
|
23: istore 7
|
|
25: iload_2
|
|
26: iload 6
|
|
28: bipush 8
|
|
30: imul
|
|
31: ishr
|
|
32: sipush 255
|
|
35: iand
|
|
36: istore 8
|
|
38: iload 7
|
|
40: i2d
|
|
41: dconst_1
|
|
42: dload_3
|
|
43: dsub
|
|
44: dmul
|
|
45: iload 8
|
|
47: i2d
|
|
48: dload_3
|
|
49: dmul
|
|
50: dadd
|
|
51: d2i
|
|
52: istore 9
|
|
54: iload 5
|
|
56: iload 9
|
|
58: sipush 255
|
|
61: iand
|
|
62: iload 6
|
|
64: bipush 8
|
|
66: imul
|
|
67: ishl
|
|
68: ior
|
|
69: istore 5
|
|
71: iinc 6, 1
|
|
74: goto 6
|
|
77: iload 5
|
|
79: ireturn
|
|
|
|
private void _proprocessArray();
|
|
Code:
|
|
0: aload_0
|
|
1: sipush 19200
|
|
4: newarray int
|
|
6: putfield #36 // Field orgBitmapPixels:[I
|
|
9: aload_0
|
|
10: sipush 19200
|
|
13: newarray float
|
|
15: putfield #37 // Field procPixels:[F
|
|
18: iconst_0
|
|
19: istore_1
|
|
20: iload_1
|
|
21: bipush 120
|
|
23: if_icmpge 132
|
|
26: iconst_0
|
|
27: istore_2
|
|
28: iload_2
|
|
29: sipush 160
|
|
32: if_icmpge 126
|
|
35: aload_0
|
|
36: getfield #31 // Field rawtempData:[I
|
|
39: sipush 160
|
|
42: bipush 119
|
|
44: iload_1
|
|
45: isub
|
|
46: imul
|
|
47: iload_2
|
|
48: iadd
|
|
49: iaload
|
|
50: i2f
|
|
51: ldc #38 // float 1000.0f
|
|
53: fdiv
|
|
54: fstore_3
|
|
55: fload_3
|
|
56: ldc #39 // float 25.0f
|
|
58: fcmpg
|
|
59: ifgt 78
|
|
62: aload_0
|
|
63: getfield #37 // Field procPixels:[F
|
|
66: sipush 160
|
|
69: iload_1
|
|
70: imul
|
|
71: iload_2
|
|
72: iadd
|
|
73: fconst_0
|
|
74: fastore
|
|
75: goto 120
|
|
78: fload_3
|
|
79: ldc #40 // float 40.0f
|
|
81: fcmpl
|
|
82: iflt 101
|
|
85: aload_0
|
|
86: getfield #37 // Field procPixels:[F
|
|
89: sipush 160
|
|
92: iload_1
|
|
93: imul
|
|
94: iload_2
|
|
95: iadd
|
|
96: fconst_1
|
|
97: fastore
|
|
98: goto 120
|
|
101: aload_0
|
|
102: getfield #37 // Field procPixels:[F
|
|
105: sipush 160
|
|
108: iload_1
|
|
109: imul
|
|
110: iload_2
|
|
111: iadd
|
|
112: fload_3
|
|
113: ldc #39 // float 25.0f
|
|
115: fsub
|
|
116: ldc #41 // float 15.0f
|
|
118: fdiv
|
|
119: fastore
|
|
120: iinc 2, 1
|
|
123: goto 28
|
|
126: iinc 1, 1
|
|
129: goto 20
|
|
132: return
|
|
|
|
private void _preprocessBitmap();
|
|
Code:
|
|
0: aload_0
|
|
1: sipush 19200
|
|
4: newarray int
|
|
6: putfield #36 // Field orgBitmapPixels:[I
|
|
9: aload_0
|
|
10: getfield #34 // Field orgBitmap:Landroid/graphics/Bitmap;
|
|
13: aload_0
|
|
14: getfield #36 // Field orgBitmapPixels:[I
|
|
17: iconst_0
|
|
18: sipush 160
|
|
21: iconst_0
|
|
22: iconst_0
|
|
23: sipush 160
|
|
26: bipush 120
|
|
28: invokevirtual #42 // Method android/graphics/Bitmap.getPixels:([IIIIIII)V
|
|
31: aload_0
|
|
32: sipush 19200
|
|
35: newarray float
|
|
37: putfield #37 // Field procPixels:[F
|
|
40: iconst_0
|
|
41: istore_1
|
|
42: iload_1
|
|
43: bipush 120
|
|
45: if_icmpge 142
|
|
48: iconst_0
|
|
49: istore_2
|
|
50: iload_2
|
|
51: sipush 160
|
|
54: if_icmpge 136
|
|
57: aload_0
|
|
58: getfield #36 // Field orgBitmapPixels:[I
|
|
61: sipush 160
|
|
64: iload_1
|
|
65: iconst_0
|
|
66: iadd
|
|
67: imul
|
|
68: iload_2
|
|
69: iconst_0
|
|
70: iadd
|
|
71: iadd
|
|
72: iaload
|
|
73: istore_3
|
|
74: iload_3
|
|
75: ldc #43 // int -16777216
|
|
77: iand
|
|
78: bipush 24
|
|
80: ishr
|
|
81: sipush 255
|
|
84: iand
|
|
85: istore 4
|
|
87: iload_3
|
|
88: ldc #44 // int 16711680
|
|
90: iand
|
|
91: bipush 16
|
|
93: ishr
|
|
94: istore 5
|
|
96: iload_3
|
|
97: ldc #45 // int 65280
|
|
99: iand
|
|
100: bipush 8
|
|
102: ishr
|
|
103: istore 6
|
|
105: iload_3
|
|
106: sipush 255
|
|
109: iand
|
|
110: istore 7
|
|
112: aload_0
|
|
113: getfield #37 // Field procPixels:[F
|
|
116: sipush 160
|
|
119: iload_1
|
|
120: imul
|
|
121: iload_2
|
|
122: iadd
|
|
123: iload 5
|
|
125: i2f
|
|
126: ldc #46 // float 255.0f
|
|
128: fdiv
|
|
129: fastore
|
|
130: iinc 2, 1
|
|
133: goto 50
|
|
136: iinc 1, 1
|
|
139: goto 42
|
|
142: return
|
|
|
|
private void processBitmap();
|
|
Code:
|
|
0: aload_0
|
|
1: sipush 160
|
|
4: bipush 120
|
|
6: getstatic #47 // Field android/graphics/Bitmap$Config.ARGB_8888:Landroid/graphics/Bitmap$Config;
|
|
9: invokestatic #48 // Method android/graphics/Bitmap.createBitmap:(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
|
|
12: putfield #49 // Field colorRenderBitmap:Landroid/graphics/Bitmap;
|
|
15: ldc #50 // float 0.11764706f
|
|
17: fstore_1
|
|
18: ldc #51 // float 0.7058824f
|
|
20: fstore_2
|
|
21: ldc #52 // float 0.50980395f
|
|
23: fstore_3
|
|
24: ldc #53 // float 0.3137255f
|
|
26: fstore 4
|
|
28: ldc #54 // float 0.9019608f
|
|
30: fstore 5
|
|
32: sipush 19200
|
|
35: newarray int
|
|
37: astore 6
|
|
39: iconst_0
|
|
40: istore 7
|
|
42: iload 7
|
|
44: bipush 120
|
|
46: if_icmpge 289
|
|
49: iconst_0
|
|
50: istore 8
|
|
52: iload 8
|
|
54: sipush 160
|
|
57: if_icmpge 283
|
|
60: aload_0
|
|
61: getfield #37 // Field procPixels:[F
|
|
64: sipush 160
|
|
67: iload 7
|
|
69: imul
|
|
70: iload 8
|
|
72: iadd
|
|
73: faload
|
|
74: fstore 9
|
|
76: fload 9
|
|
78: fload_1
|
|
79: fcmpg
|
|
80: ifge 100
|
|
83: aload 6
|
|
85: sipush 160
|
|
88: iload 7
|
|
90: imul
|
|
91: iload 8
|
|
93: iadd
|
|
94: ldc #56 // int -16776961
|
|
96: iastore
|
|
97: goto 277
|
|
100: fload 9
|
|
102: fload_2
|
|
103: fcmpg
|
|
104: ifge 139
|
|
107: aload 6
|
|
109: sipush 160
|
|
112: iload 7
|
|
114: imul
|
|
115: iload 8
|
|
117: iadd
|
|
118: aload_0
|
|
119: ldc #3 // int -16711936
|
|
121: ldc #5 // int -8388864
|
|
123: fload 9
|
|
125: fload_1
|
|
126: fsub
|
|
127: fload_2
|
|
128: fload_1
|
|
129: fsub
|
|
130: fdiv
|
|
131: f2d
|
|
132: invokespecial #57 // Method getColor:(IID)I
|
|
135: iastore
|
|
136: goto 277
|
|
139: fload 9
|
|
141: fload_3
|
|
142: fcmpg
|
|
143: ifge 179
|
|
146: aload 6
|
|
148: sipush 160
|
|
151: iload 7
|
|
153: imul
|
|
154: iload 8
|
|
156: iadd
|
|
157: aload_0
|
|
158: ldc #5 // int -8388864
|
|
160: sipush -256
|
|
163: fload 9
|
|
165: fload_2
|
|
166: fsub
|
|
167: fload_3
|
|
168: fload_2
|
|
169: fsub
|
|
170: fdiv
|
|
171: f2d
|
|
172: invokespecial #57 // Method getColor:(IID)I
|
|
175: iastore
|
|
176: goto 277
|
|
179: fload 9
|
|
181: fload 4
|
|
183: fcmpg
|
|
184: ifge 221
|
|
187: aload 6
|
|
189: sipush 160
|
|
192: iload 7
|
|
194: imul
|
|
195: iload 8
|
|
197: iadd
|
|
198: aload_0
|
|
199: sipush -256
|
|
202: ldc #8 // int -33024
|
|
204: fload 9
|
|
206: fload_3
|
|
207: fsub
|
|
208: fload 4
|
|
210: fload_3
|
|
211: fsub
|
|
212: fdiv
|
|
213: f2d
|
|
214: invokespecial #57 // Method getColor:(IID)I
|
|
217: iastore
|
|
218: goto 277
|
|
221: fload 9
|
|
223: fload 5
|
|
225: fcmpg
|
|
226: ifge 264
|
|
229: aload 6
|
|
231: sipush 160
|
|
234: iload 7
|
|
236: imul
|
|
237: iload 8
|
|
239: iadd
|
|
240: aload_0
|
|
241: ldc #8 // int -33024
|
|
243: ldc #10 // int -65536
|
|
245: fload 9
|
|
247: fload 4
|
|
249: fsub
|
|
250: fload 5
|
|
252: fload 4
|
|
254: fsub
|
|
255: fdiv
|
|
256: f2d
|
|
257: invokespecial #57 // Method getColor:(IID)I
|
|
260: iastore
|
|
261: goto 277
|
|
264: aload 6
|
|
266: sipush 160
|
|
269: iload 7
|
|
271: imul
|
|
272: iload 8
|
|
274: iadd
|
|
275: iconst_m1
|
|
276: iastore
|
|
277: iinc 8, 1
|
|
280: goto 52
|
|
283: iinc 7, 1
|
|
286: goto 42
|
|
289: aload_0
|
|
290: getfield #49 // Field colorRenderBitmap:Landroid/graphics/Bitmap;
|
|
293: aload 6
|
|
295: iconst_0
|
|
296: sipush 160
|
|
299: iconst_0
|
|
300: iconst_0
|
|
301: sipush 160
|
|
304: bipush 120
|
|
306: invokevirtual #58 // Method android/graphics/Bitmap.setPixels:([IIIIIII)V
|
|
309: return
|
|
|
|
private float[] matrix_1D(float[], float[]);
|
|
Code:
|
|
0: aload_1
|
|
1: arraylength
|
|
2: istore_3
|
|
3: aload_2
|
|
4: arraylength
|
|
5: istore 4
|
|
7: iload_3
|
|
8: newarray float
|
|
10: astore 5
|
|
12: iload 4
|
|
14: iconst_2
|
|
15: idiv
|
|
16: ineg
|
|
17: istore 6
|
|
19: iconst_0
|
|
20: istore 7
|
|
22: iload 7
|
|
24: iload_3
|
|
25: if_icmpge 98
|
|
28: fconst_0
|
|
29: fstore 8
|
|
31: iconst_0
|
|
32: istore 9
|
|
34: iload 9
|
|
36: iload 4
|
|
38: if_icmpge 85
|
|
41: fconst_0
|
|
42: fstore 10
|
|
44: iload 7
|
|
46: iload 9
|
|
48: iadd
|
|
49: iload 6
|
|
51: iadd
|
|
52: istore 11
|
|
54: iload 11
|
|
56: iflt 79
|
|
59: iload 11
|
|
61: iload_3
|
|
62: if_icmpge 79
|
|
65: fload 8
|
|
67: aload_1
|
|
68: iload 11
|
|
70: faload
|
|
71: aload_2
|
|
72: iload 9
|
|
74: faload
|
|
75: fmul
|
|
76: fadd
|
|
77: fstore 8
|
|
79: iinc 9, 1
|
|
82: goto 34
|
|
85: aload 5
|
|
87: iload 7
|
|
89: fload 8
|
|
91: fastore
|
|
92: iinc 7, 1
|
|
95: goto 22
|
|
98: aload 5
|
|
100: areturn
|
|
|
|
private void matrix_2D(float[], int, int, float[], int);
|
|
Code:
|
|
0: aload_1
|
|
1: arraylength
|
|
2: newarray float
|
|
4: astore 6
|
|
6: iload 5
|
|
8: iconst_2
|
|
9: idiv
|
|
10: ineg
|
|
11: istore 7
|
|
13: iconst_0
|
|
14: istore 8
|
|
16: iload 8
|
|
18: iload_3
|
|
19: if_icmpge 179
|
|
22: iconst_0
|
|
23: istore 9
|
|
25: iload 9
|
|
27: iload_2
|
|
28: if_icmpge 173
|
|
31: fconst_0
|
|
32: fstore 10
|
|
34: iconst_0
|
|
35: istore 11
|
|
37: iload 11
|
|
39: iload 5
|
|
41: if_icmpge 134
|
|
44: iconst_0
|
|
45: istore 12
|
|
47: iload 12
|
|
49: iload 5
|
|
51: if_icmpge 128
|
|
54: iload 9
|
|
56: iload 12
|
|
58: iadd
|
|
59: iload 7
|
|
61: iadd
|
|
62: istore 13
|
|
64: iload 8
|
|
66: iload 11
|
|
68: iadd
|
|
69: iload 7
|
|
71: iadd
|
|
72: istore 14
|
|
74: iload 13
|
|
76: iflt 122
|
|
79: iload 13
|
|
81: iload_2
|
|
82: if_icmpge 122
|
|
85: iload 14
|
|
87: iflt 122
|
|
90: iload 14
|
|
92: iload_3
|
|
93: if_icmpge 122
|
|
96: fload 10
|
|
98: aload_1
|
|
99: iload_2
|
|
100: iload 14
|
|
102: imul
|
|
103: iload 13
|
|
105: iadd
|
|
106: faload
|
|
107: aload 4
|
|
109: iload 5
|
|
111: iload 11
|
|
113: imul
|
|
114: iload 12
|
|
116: iadd
|
|
117: faload
|
|
118: fmul
|
|
119: fadd
|
|
120: fstore 10
|
|
122: iinc 12, 1
|
|
125: goto 47
|
|
128: iinc 11, 1
|
|
131: goto 37
|
|
134: fload 10
|
|
136: invokestatic #59 // Method java/lang/Math.abs:(F)F
|
|
139: fstore 11
|
|
141: aload 6
|
|
143: iload_2
|
|
144: iload 8
|
|
146: imul
|
|
147: iload 9
|
|
149: iadd
|
|
150: fload 11
|
|
152: f2d
|
|
153: ldc2_w #60 // double 0.5d
|
|
156: dcmpl
|
|
157: iflt 164
|
|
160: fconst_1
|
|
161: goto 166
|
|
164: fload 11
|
|
166: fastore
|
|
167: iinc 9, 1
|
|
170: goto 25
|
|
173: iinc 8, 1
|
|
176: goto 16
|
|
179: iconst_0
|
|
180: istore 8
|
|
182: iload 8
|
|
184: aload_1
|
|
185: arraylength
|
|
186: if_icmpge 204
|
|
189: aload_1
|
|
190: iload 8
|
|
192: aload 6
|
|
194: iload 8
|
|
196: faload
|
|
197: fastore
|
|
198: iinc 8, 1
|
|
201: goto 182
|
|
204: return
|
|
|
|
static {};
|
|
Code:
|
|
0: ldc #1 // class com/elotouch/thermallib/ThermalImageProcesser
|
|
2: invokevirtual #62 // Method java/lang/Class.getSimpleName:()Ljava/lang/String;
|
|
5: putstatic #63 // Field TAG:Ljava/lang/String;
|
|
8: return
|
|
}
|