Digital Signal Processing Reference
In-Depth Information
16 Geometrische
Bildoperationen
30
31
Pnt2d pt = new Pnt2d(0,0);
for (int v=0; v<h; v++){
32
for (int u=0; u<w; u++){
33
pt.x = u;
34
pt.y = v;
35
invMap.applyTo(pt);
36
intp=
37
(int) Math.rint(intPol.getInterpolatedPixel(pt));
38
targetIp.putPixel(u,v,p);
39
}
40
}
41
}
42
43
44
Mapping duplicate() { //clones any mapping object
Mapping newMap = null;
45
try {
46
newMap = (Mapping) this.clone();
47
}
48
catch (CloneNotSupportedException e){};
49
return newMap;
50
}
51
52
53 }
LinearMapping (Klasse)
LinearMapping ist eine konkrete Subklasse von Mapping und realisiert
eine beliebige lineare Abbildung mit homogenen Koordinaten in 2D.
Die Abbildungsparameter sind durch die 3
3-Matrix mit den Elemen-
ten a 11 ,a 12 ,...a 33 reprasentiert. Diese Klasse wird gewohnlich selbst
nicht instantiiert, sondern liefert die allgemeine Funktionalitat der li-
nearen Abbildung, insbesondere die Anwendung auf Punktkoordinaten
( applyTo(Pnt2d pnt) ), Inversion ( invert() ) und Verkupfung mit einer
zweiten linearen Abbildung ( concat(LinearMapping B) ):
1 public class LinearMapping extends Mapping {
2
×
double
a11=1,a12=0,a13=0, // transformation matrix
3
a21=0,a22=1,a23=0,
4
a31=0,a32=0,a33=1;
5
6
7
LinearMapping() {}
8
9
// constructor method
LinearMapping (
double a11, double a12, double a13,
10
double a21, double a22, double a23,
11
double a31, double a32, double a33,
12
boolean inv) {
13
this.a11 = a11; this.a12 = a12; this.a13 = a13;
14
Search WWH ::




Custom Search