Pergunta : equação para a multi inclinação nivelada para a tabela de LUT na escala de 0 a 255


Olá!,
Eu uso um LUT para transformar uma intensidade do pixel de pixéis que das imagens seja aprovada para uma inclinação LUT como o código abaixo:

 
Assim eu esperei fazer uma função que permitisse para ter mais de um nível da inclinação da inclinação tão multi com etapas.

O exemplo da entrada 0 (50) ao ângulo da inclinação step1 é 45° então de step1 (50) (90) ao ângulo da inclinação step2 é 70° e finalmente de step2 (255) à inclinação step3 o ângulo é 20°.

o protótipo da função é
create_3levels_lut longo (int step1, contrast1 dobro, int step2, contrast2 dobro, int step3, contrast3 dobro, double* Contrast_transform)


Para a execução está este código novo abaixo de correto?

Obrigado
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
//Call
lut_trans dobro [256];

dobro ang_rad1		= 0.0;
int ang_deg1		= 45;
dobro ang_rad2		= 0.0;
int ang_deg2		= 70;
dobro ang_rad3		= 0.0;
int ang_deg3		= 20;

int step1			= 50; 
int step2			= 90; 
int step3			= 255; 
		
ang_rad1 = (PI * ang_deg1) /180;
ang_rad2 = (PI * ang_deg2) /180;
ang_rad3 = (PI * ang_deg3) /180;
		
create_lut (ang_rad1, lut_trans);

para (i=0; i<256> (int) (128.0f-128.0f*tan (contraste)))
	Contrast_transform [i] = (i-128) /tan (contraste) +128;
	mais se (i>= (int) (128.0f+128.0f*tan (contraste)))
	Contrast_transform [i] =255;
	mais
	Contrast_transform [i] =0;
	}

retornar erram;
}


//output 
[0] =0.000000
[1] =1.000000
[2] =2.000000
[3] =3.000000
[4] =4.000000
…
[137] =137.000000
.
[253] =253.000000
[254] =254.000000
[255] =255.000000

///////////////////////////////////////////
Código novo

//Call

create_3levels_lut (step1, ang_rad1, step2, ang_rad2, step3, ang_rad3, lut_trans);


//Implementation

create_3levels_lut longo (int step1, contrast1 dobro, int step2, contrast2 dobro, int step3, contrast3 dobro, double* Contrast_transform)
{
erram por muito tempo =0;

para (int i=0; i<256> (int) (0*tan (contrast1)))
    Contrast_transform [i] = (i-step1) /tan (contrast1) +step1;
  mais se (i<> (int) (step1*tan (contrast1)))
    Contrast_transform [i] = (i-step2) /tan (contrast2) +step2;
  mais se (i<> (int) (step2*tan (contrast2)))
	   Contrast_transform [i] = (i-step2) /tan (contrast2) +step2;
  mais se (i>= (int) (step3*tan (contrast3)))
    Contrast_transform [i] =255;
  mais
    Contrast_transform [i] =0;
}

retornar erram;
}


//output
[0] =0.000000
[1] =1.000000
[2] =2.000000
[3] =3.000000
[4] =4.000000
[5] =5.000000
[6] =6.000000
[7] =7.000000
[8] =8.000000
[9] =9.000000
[10] =10.000000
[11] =11.000000
[12] =12.000000
[13] =13.000000
[14] =14.000000
[15] =15.000000
[16] =16.000000
[17] =17.000000
[18] =18.000000
[19] =19.000000
[20] =20.000000
[21] =21.000000
[22] =22.000000
[23] =23.000000
[24] =24.000000
[25] =25.000000
[26] =26.000000
[27] =27.000000
[28] =28.000000
[29] =29.000000
[30] =30.000000
[31] =31.000000
[32] =32.000000
[33] =33.000000
[34] =34.000000
[35] =35.000000
[36] =36.000000
[37] =37.000000
[38] =38.000000
[39] =39.000000
[40] =40.000000
[41] =41.000000
[42] =42.000000
[43] =43.000000
[44] =44.000000
[45] =45.000000
[46] =46.000000
[47] =47.000000
[48] =48.000000
[49] =0.000000
[50] =75.441191
[51] =75.805161
[52] =76.169131
[53] =76.533101
[54] =76.897072
[55] =77.261042
[56] =77.625012
[57] =77.988982
[58] =78.352952
[59] =78.716923
[60] =79.080893
[61] =79.444863
[62] =79.808833
[63] =80.172804
[64] =80.536774
[65] =80.900744
[66] =81.264714
[67] =81.628685
[68] =81.992655
[69] =82.356625
[70] =82.720595
[71] =83.084566
[72] =83.448536
[73] =83.812506
[74] =84.176476
[75] =84.540446
[76] =84.904417
[77] =85.268387
[78] =85.632357
[79] =85.996327
[80] =86.360298
[81] =86.724268
[82] =87.088238
[83] =87.452208
[84] =87.816179
[85] =88.180149
[86] =88.544119
[87] =88.908089
[88] =89.272060
[89] =89.636030
[90] =90.000000
[91] =90.363970
[92] =90.727940
[93] =91.091911
[94] =91.455881
[95] =91.819851
[96] =92.183821
[97] =92.547792
[98] =92.911762
[99] =93.275732
[100] =93.639702
[101] =94.003673
[102] =94.367643
[103] =94.731613
[104] =95.095583
[105] =95.459554
[106] =95.823524
[107] =96.187494
[108] =96.551464
[109] =96.915434
[110] =97.279405
[111] =97.643375
[112] =98.007345
[113] =98.371315
[114] =98.735286
[115] =99.099256
[116] =99.463226
[117] =99.827196
[118] =100.191167
[119] =100.555137
[120] =100.919107
[121] =101.283077
[122] =101.647048
[123] =102.011018
[124] =102.374988
[125] =102.738958
[126] =103.102928
[127] =103.466899
[128] =103.830869
[129] =104.194839
[130] =104.558809
[131] =104.922780
[132] =105.286750
[133] =105.650720
[134] =106.014690
[135] =106.378661
[136] =106.742631
[137] =107.106601
[138] =107.470571
[139] =107.834542
[140] =108.198512
[141] =108.562482
[142] =108.926452
[143] =109.290422
[144] =109.654393
[145] =110.018363
[146] =110.382333
[147] =110.746303
[148] =111.110274
[149] =111.474244
[150] =111.838214
[151] =112.202184
[152] =112.566155
[153] =112.930125
[154] =113.294095
[155] =113.658065
[156] =114.022036
[157] =114.386006
[158] =114.749976
[159] =115.113946
[160] =115.477917
[161] =115.841887
[162] =116.205857
[163] =116.569827
[164] =116.933797
[165] =117.297768
[166] =117.661738
[167] =118.025708
[168] =118.389678
[169] =118.753649
[170] =119.117619
[171] =119.481589
[172] =119.845559
[173] =120.209530
[174] =120.573500
[175] =120.937470
[176] =121.301440
[177] =121.665411
[178] =122.029381
[179] =122.393351
[180] =122.757321
[181] =123.121291
[182] =123.485262
[183] =123.849232
[184] =124.213202
[185] =124.577172
[186] =124.941143
[187] =125.305113
[188] =125.669083
[189] =126.033053
[190] =126.397024
[191] =126.760994
[192] =127.124964
[193] =127.488934
[194] =127.852905
[195] =128.216875
[196] =128.580845
[197] =128.944815
[198] =129.308785
[199] =129.672756
[200] =130.036726
[201] =130.400696
[202] =130.764666
[203] =131.128637
[204] =131.492607
[205] =131.856577
[206] =132.220547
[207] =132.584518
[208] =132.948488
[209] =133.312458
[210] =133.676428
[211] =134.040399
[212] =134.404369
[213] =134.768339
[214] =135.132309
[215] =135.496279
[216] =135.860250
[217] =136.224220
[218] =136.588190
[219] =136.952160
[220] =137.316131
[221] =137.680101
[222] =138.044071
[223] =138.408041
[224] =138.772012
[225] =139.135982
[226] =139.499952
[227] =139.863922
[228] =140.227893
[229] =140.591863
[230] =140.955833
[231] =141.319803
[232] =141.683773
[233] =142.047744
[234] =142.411714
[235] =142.775684
[236] =143.139654
[237] =143.503625
[238] =143.867595
[239] =144.231565
[240] =144.595535
[241] =144.959506
[242] =145.323476
[243] =145.687446
[244] =146.051416
[245] =146.415387
[246] =146.779357
[247] =255.000000
[248] =255.000000
[249] =255.000000
[250] =255.000000
[251] =255.000000
[252] =255.000000
[253] =255.000000
[254] =255.000000
[255] =255.000000

Resposta : equação para a multi inclinação nivelada para a tabela de LUT na escala de 0 a 255

tentar isto:

vago confidencial plusActionPerformed (evt de java.awt.event.ActionEvent) {

   equalsActionPerformed (zero);

   firstDouble= (Double.parseDouble (String.valueOf (display.getText ())));
   display.setText ("");
   plusClick=1;
   decimalClick=0;
}
Outras soluções  
 
programming4us programming4us