jahuaman_Ex2

Autor:jahuaman
Data:18/03/2009

Exercício 02

  • Estudar as várias funções sintéticas da toolbox ia636, utilizando-as com parâmetros interessantes.
  • Escolher uma ou duas para implementá-la, utilizando o meshgrid.

1. retangulo

A ecuaçao é

1 F = iarectangle([150,300], [50,100], [60,120])
2 print F
3 mmshow(uint16(F))
[[False False False ..., False False False]
 [False False False ..., False False False]
 [False False False ..., False False False]
 ..., 
 [False False False ..., False False False]
 [False False False ..., False False False]
 [False False False ..., False False False]]

2. Elipse

uma elipse é a curva no plano cartesiano definida por uma equação da forma:

Onde (h,k) é o centro da elipse e a,b seus semi-eixos.

A região no interior da elipse é definido por equação:

 1 def elipse(tamanho, h, k, a, b):
 2    ancho  = tamanho[0]
 3    largo  = tamanho[1]
 4    Y, X = iameshgrid(arange(0.0,ancho), arange(0.0,largo));
 5    elipse =  ((X - h)/a)**2 + ((Y - k)/b)**2 <= 1
 6    return elipse;
 7 
 8 mmshow(elipse([150,200],100,75,30,60));
 9 mmshow(elipse([150,200],100,75,80,40));
10 
11 #g = iaellipse([20,40],0.0,'ELLIPSE');
12 #mmshow(g);

  • Elipse desde uma gaussian
 1 def gaussian(tamanho, media, desv,amplitude):
 2     ancho=tamanho[0]
 3     largo=tamanho[1]
 4     x,y = meshgrid(range(0,ancho),range(0,largo))
 5     x = x.astype(float)
 6     y = y.astype(float)
 7     desv_x=float(desv[0])
 8     desv_y=float(desv[1])
 9     media_x=media[0]
10     media_y=media[1]
11     gausiana = amplitude*exp(-1./2*((((x-media_x)/desv_x)**2)+(((y-media_y)/desv_y)**2)))
12     return gausiana
13 
14 mmshow(uint16(gaussian([150,200], [75,100], [20,40],50)),title = "gaussian")
15 mmshow(uint16(gaussian([150,200], [75,100], [20,40],50)>10),title = "Elipse desde uma gaussian")

gaussian

Elipse desde uma gaussian