Size: 1492
Comment:
|
Size: 1780
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
== For loop == {{{#!python In [19]: for ... in zip(range(0,4,1),range(4,0,-1)): ....: print i,j ....: 0 4 1 3 2 2 3 1 }}} == Nested data structures == |
|
Line 46: | Line 61: |
* Welchen Typs sind die Variablen? * Wieviel Arrays werden definiert? |
* Welchen Typs sind die Variablen? Was ist ihre Funktion? * Wieviele Arrays werden definiert? |
Line 49: | Line 64: |
* Welche Dimension haben die Arrays | * Welche Dimension haben die Arrays (-> Methode {{{.shape}}}) |
Line 54: | Line 69: |
Stellen Sie die drei einzelnen Komponenten in einer Abbildung dar. | Stellen Sie die Schnitte der drei einzelnen Komponenten in einer Abbildung dar. [[SiaExercisesLesson2LoesungRGB|Loesung]] |
2. Stunde - Übungen
For loop
Nested data structures
1 from scipy import empty,mgrid,exp
2 from pylab import figure,clf,subplot,imshow,title,gray,plot,show,savefig
3
4 def gaussian(center, width):
5 """Returns a gaussian function"""
6 center_y,center_x=float(center[0]),float(center[1])
7 width_y,width_x=float(width[0]),float(width[1])
8 return lambda y,x: exp(-(((center_y-y)/width_y)**2+((center_x-x)/width_x)**2)/2)
9
10
11 Y,X=200,200
12 RGB=empty((Y,X,3),float)
13 D,I={ 'R':(0,0,0), 'G':(200,100,1), 'B':(00,200,2) },{}
14 y, x = mgrid[0:Y,0:X]
15 figure(1)
16 clf()
17 for color in D.keys():
18 I[color] = gaussian(D[color][0:2], (100,100))(y, x)
19 RGB[:,:,D[color][2]]=I[color]
20 subplot(2,2,D[color][2]+1)
21 imshow(I[color],origin='lower')
22 title(color)
23 gray()
24 subplot(2,2,4)
25 imshow(RGB,origin='lower')
26 title('RGB')
27 show()
28 savefig('rgb.png',dpi=100)
Datentypen
- Stellen Sie eine Liste der Variablen auf, die das Programm enthält
- Welchen Typs sind die Variablen? Was ist ihre Funktion?
- Wieviele Arrays werden definiert?
- Welche Arrays sind in anderen Datenstrukturen enthalten?
Welche Dimension haben die Arrays (-> Methode .shape)
Indizieren
Legen Sie für jeden Farbkomponente einen horizontalen (y=100) und vertikalen Schnitt (x=100) durch das Array RGB. Stellen Sie die Schnitte der drei einzelnen Komponenten in einer Abbildung dar.