| 
  
   Size: 2101 
  
  Comment:  
 | 
  
   Size: 465 
  
  Comment:  
 | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 1: | Line 1: | 
| #acl AdminGroup:read,write | #acl AdminGroup:read,write EditorGroup:read All:read | 
| Line 6: | Line 6: | 
| SiaProgrammingPython | 
|
| Line 8: | Line 10: | 
| = Fourier transformation = | [[/Statistics]] | 
| Line 10: | Line 12: | 
| = Statistics = | [[/Texture]] | 
| Line 12: | Line 14: | 
| = Convolution = | [[/GammaFunction]] | 
| Line 14: | Line 16: | 
| = Filter = == Linear shift invariant == == Ranking filter == == Recursive filter ==  | 
[[/Classification]] | 
| Line 19: | Line 18: | 
| = Sampling and interpolation = | [[/Convolution]] | 
| Line 21: | Line 20: | 
|  [[/Geometric transformation]]  Jähne 10.4, p 288  | 
[[/Geometric transformation]] | 
| Line 24: | Line 22: | 
| {{attachment:affine_transform_orig.png}} {{attachment:affine_transform.png}} | [[/K-means algorithm and Vector Quantization]] | 
| Line 26: | Line 24: | 
| {{{#!python from scipy import * from scipy.ndimage import * from pylab import * from scipy import linalg  | 
[[/Filter]] | 
| Line 32: | Line 26: | 
| [[/Watershed-Segmentation]] | |
| Line 33: | Line 28: | 
| def mapping_func((y,x)): # Uebergabe der Koordinaten als Tupel v0=array([y,x,1]).transpose() v1=dot(A,v0) # globale Variable A ist im Hauptprogramm deklariert return (v1[0],v1[1]) def display(B,n,t,y00,x00,y01,x01,y02,x02): figure(n) imshow(B,origin='lower',interpolation='nearest') text(y00,x00,'y0,x0') text(y01,x01,'y1,x1') text(y02,x02,'y2,x2') title(t) colorbar() show() Y,X=512,512 B0=zeros((Y,X),float) # Punkte im Originalbild y00,x00,y01,x01,y02,x02=200,200,200,300,300,300 # Punkte im transformierten Bild y10,x10,y11,x11,y12,x12=200,200,100,250,500,400 B0[y00:y02,x00:x02]=1 # Rechteck mit eins gefuellt sigma=1 B0=gaussian_filter(B0,sigma) # Simuliere Aufnahmevorgang (Verunschaerfen) close('all') display(B0,1,'Original',y00,x00,y01,x01,y02,x02) P0=array([[x00, x01, x02],[y00,y01,y02],[1.0,1.0,1.0]]) P1=array([[x10, x11, x12],[y10,y11,y12],[1.0,1.0,1.0]]) # Berechne Transformationsmatrix A=dot(P1,linalg.inv(P0)) A=linalg.inv(A) # Hier wird die Inverse von A berechnet, # da geometric_transform "rueckwaerts" definiert ist B1=geometric_transform(B0,mapping_func,prefilter=True,order=3,output_shape=(700,700)) display(B1,2,'Transformiert',y10,x10,y11,x11,y12,x12)}}} = Multiscale representation = = Edge detection = = Texture = = Segmentation = = Inverse filtering = = Morphology = = Shape = = Classification =  | 
[[/Morphology]] | 
This session provides a brief overview about SciPy image processing functions
