jailton_ex5

1. f = mmreadgray('boat.ppm')
2. adshow(f, title = "Imagem de entrada")
3. it = 255 - arange(255)
4. g = iaapplylut(f, it)
5. adshow(g, title = "Imagem saída(negativa)-Função iaapplylut")

Imagem de entrada

Imagem saída(negativa)-Função iaapplylut

01. def func_intensidade(f,Wi,Wo,Li,tx_varW):
02.     import numpy
03.     import math
04.     fi = asmatrix(f)
05.     Ro = Wi-Li/2
06.     print "Ro-Ponto inicial da janela-imgem de Entrada";print Ro
07.     print "------------------------------------------"
08.     R1 = Wi+Li/2
09.     print "R1-Ponto final da janela-imgem de Entrada";print R1
10.     print "------------------------------------------"
11.     print "Taxa de variação da Função 2 (janela)";print tx_varW
12.     print "------------------------------------------"
13.     print "Intensidade máxima da imagem de Entrada";
14.     Rmax = fi.max();print Rmax
15.     print "------------------------------------------"
16.     print "Intensidade mínima da imgem de Entrada"
17.     Rmin = fi.min();print Rmin
18.     print "------------------------------------------"
19.     # Função 2: Pontos de conexão: (Ro,So) e (R1,S1)
20.     fo2 = fi*(tx_varW)-Wi*(tx_varW)+Wo    # Função 2(Janela) : y = x*tx_var_W-Wi*tx_var_W+Wo
21.     # Função 1: Pontos de conexão: (0,0) e (Ro,So)
22.     So = Ro*(tx_varW)-Wi*(tx_varW)+Wo
23.     print "So-Ponto inicial da janela-imgem de Saída";print So
24.     print "------------------------------------------"
25.     print "Taxa de variação da função 1"
26.     tx_var1 = So/Ro;print tx_var1
27.     print "------------------------------------------"
28.     fo1 = fi*tx_var1               # Função 1: y = x*tx_var1
29.     # Função 3: Pontos de conexão: (R1,S1) e (255,255)
30.     S1 = R1*(tx_varW)-Wi*(tx_varW)+Wo
31.     print "S1-Ponto final da janela-imgem de Saída";print S1
32.     print "------------------------------------------"
33.     tx_var3=(255-S1)/(Rmax-R1)
34.     print "Taxa de variação função 3";print tx_var3
35.     fo3 = fi*(tx_var3)-255*(tx_var3)+255  # Função 3: y = x*(tx_var3)-Wi*(tx_var3)+255
36.     adshow(fi, title = "Imagem de entrada fi=f")
37.     for i in range(0,255):
38.         for j in range(0,255):
39.             if fi[i,j]< Ro:
40.                 fi[i,j] = (fi[i,j]*tx_var1)
41.             elif fi[i,j]>R1:
42.                 fi[i,j] = (fi[i,j]*(tx_var3)-Rmax*(tx_var3)+255)
43.             else:
44.                 fi[i,j] = (fi[i,j]*(tx_varW)-Wi*(tx_varW)+Wo)
45.     fo = fi
46.     return fo   # Saída da função
47. 
48. #Variáveis de Entrada
49. F1 = mmreadgray('boat.ppm')
50. Wi = 40.00
51. Li = 30.00
52. Wo = 100.00
53. tx_varW= 4   # taxa de variação (Derivada)
54. fs = func_intensidade(F1,Wi,Wo,Li,tx_varW)
55. adshow(fs, title = "Imagem saída fo-Após Transformação")
Ro-Ponto inicial da janela-imgem de Entrada
25.0
------------------------------------------
R1-Ponto final da janela-imgem de Entrada
55.0
------------------------------------------
Taxa de variação da Função 2 (janela)
4
------------------------------------------
Intensidade máxima da imagem de Entrada
209
------------------------------------------
Intensidade mínima da imgem de Entrada
0
------------------------------------------
So-Ponto inicial da janela-imgem de Saída
40.0
------------------------------------------
Taxa de variação da função 1
1.6
------------------------------------------
S1-Ponto final da janela-imgem de Saída
160.0
------------------------------------------
Taxa de variação função 3
0.616883116883

Imagem de entrada fi=f

Imagem saída fo-Após Transformação