Für Computer Vision-Projekt, versuche ich D.Lowe paper(SIFT) zu implementieren. Ich bin dabei, das zu übersetzen (schaue das PPT-Bild) in Code. Können Sie mir bitte sagen, wie Sie Taylor-Erweiterung in Code anwenden (die Formel ist unten). Kennen Sie irgendwelche Funktionen in numpy, die ich verwenden kann, um diese D(x)
zu berechnen? können Sie einen exclple-Code für D (x) in Python geben. zu finden unter C++ CodeWie Taylor Taylor Serie Erweiterung auf ein Bild in opencv?
0
A
Antwort
0
besser durch SIFT Taylor Expansion working out subpixel locations, später gehen Um zu verstehen, die tatsächliche Umsetzung von SIFT ist.
static void interp_step(IplImage*** dog_pyr, int octv, int intvl, int r, int c,
double* xi, double* xr, double* xc)
{
CvMat* dD, * H, * H_inv, X;
double x[3] = { 0 };
dD = deriv_3D(dog_pyr, octv, intvl, r, c);
H = hessian_3D(dog_pyr, octv, intvl, r, c);
H_inv = cvCreateMat(3, 3, CV_64FC1);
cvInvert(H, H_inv, CV_SVD);
cvInitMatHeader(&X, 3, 1, CV_64FC1, x, CV_AUTOSTEP);
cvGEMM(H_inv, dD, -1, NULL, 0, &X, 0);
cvReleaseMat(&dD);
cvReleaseMat(&H);
cvReleaseMat(&H_inv);
*xi = x[2];
*xr = x[1];
*xc = x[0];
}
static CvMat* hessian_3D(IplImage*** dog_pyr, int octv, int intvl, int r,
int c)
{
CvMat* H;
double v, dxx, dyy, dss, dxy, dxs, dys;
v = pixval32f(dog_pyr[octv][intvl], r, c);
dxx = (pixval32f(dog_pyr[octv][intvl], r, c+1) +
pixval32f(dog_pyr[octv][intvl], r, c-1) - 2 * v);
dyy = (pixval32f(dog_pyr[octv][intvl], r+1, c) +
pixval32f(dog_pyr[octv][intvl], r-1, c) - 2 * v);
dss = (pixval32f(dog_pyr[octv][intvl+1], r, c) +
pixval32f(dog_pyr[octv][intvl-1], r, c) - 2 * v);
dxy = (pixval32f(dog_pyr[octv][intvl], r+1, c+1) -
pixval32f(dog_pyr[octv][intvl], r+1, c-1) -
pixval32f(dog_pyr[octv][intvl], r-1, c+1) +
pixval32f(dog_pyr[octv][intvl], r-1, c-1))/4.0;
dxs = (pixval32f(dog_pyr[octv][intvl+1], r, c+1) -
pixval32f(dog_pyr[octv][intvl+1], r, c-1) -
pixval32f(dog_pyr[octv][intvl-1], r, c+1) +
pixval32f(dog_pyr[octv][intvl-1], r, c-1))/4.0;
dys = (pixval32f(dog_pyr[octv][intvl+1], r+1, c) -
pixval32f(dog_pyr[octv][intvl+1], r-1, c) -
pixval32f(dog_pyr[octv][intvl-1], r+1, c) +
pixval32f(dog_pyr[octv][intvl-1], r-1, c))/4.0;
H = cvCreateMat(3, 3, CV_64FC1);
cvmSet(H, 0, 0, dxx);
cvmSet(H, 0, 1, dxy);
cvmSet(H, 0, 2, dxs);
cvmSet(H, 1, 0, dxy);
cvmSet(H, 1, 1, dyy);
cvmSet(H, 1, 2, dys);
cvmSet(H, 2, 0, dxs);
cvmSet(H, 2, 1, dys);
cvmSet(H, 2, 2, dss);
return H;
}
Referenz: https://github.com/robwhess/opensift/blob/master/src/sift.c
Verwandte Themen
- 1. SymPy Taylor-Erweiterung für Funktionssymbole
- 2. Taylor Series einer Sinus
- 3. Funktion zum Berechnen von Pi mit Taylor-Serie in C++
- 4. Kosinus berechnen in C++ mit Taylor-Serie und Näherungseingabe
- 5. Präzisions-Issuse mit Taylor-Serie zum Auffinden von Kosinus
- 6. Taylor Series in MIPS Montage
- 7. Wie Taylor Expansion von beliebigen Funktionen in Matlab zu konstruieren?
- 8. Cosine Taylor aproximation C Sprache
- 9. Taylor-Diagramm in Python mit skill_metrics
- 10. reagieren native dynamische Listenansicht Taylor Swift
- 11. Sine der Nummer mit Taylor Series java
- 12. Stuck mit Berechnung Exponenten in Java (Taylor Series)
- 13. Taylor-Serie in C mit Funktionen durch zuerst teilen und dann multiplizieren
- 14. Approximieren Sine (x) mit einer Taylor-Serie in C und mit vielen Problemen
- 15. Matlab: Iteration über einen Vektor, um Taylor-Erweiterung für jedes Element
- 16. Programm zur Berechnung Sin Taylor Expansion funktioniert nicht verwenden?
- 17. OpenCV - Wie ein Bild auf iOS
- 18. Verilog-Code zur Berechnung von Cosx mit Hilfe der Taylor-Serienapproximation
- 19. Versuch, den Wert von cos x unter Verwendung der Taylor-Formel
- 20. Embed ein OpenCV Bild
- 21. Konvertieren Sie ein CVD-Bild in ein Color OpenCV-Bild
- 22. OpenCV: Wie man Rainbow Gradient Map auf ein Bild anwenden?
- 23. Drehen wieder ein Bild in opencv C++
- 24. iOS Aktion Erweiterung wie ein kleines Bild
- 25. Capture ein Web in Bild mit OpenCV
- 26. Wie erstelle ich ein OpenCV-Bild aus einem PIL-Bild?
- 27. Ein Bild in eine Firefox-Erweiterung einbinden
- 28. Wie konvertiert man ein Bild in eine Matrix in opencv
- 29. Wie man ein Bild in OpenCV mit Python beschneidet
- 30. I verwenden opencv ein Bild zu konvertieren in Graustufen, wie das Bild auf PyQt4 anzuzeigen
Does diese Hilfe? http://firsttimeprogrammer.blogspot.co.uk/2015/03/taylor-series-with-python-and-sympy.html – pookie
Oder dies: https://pythonhosted.org/algopy/examples/series_expansion.html – pookie
@ pookie - der erste Link, den du erwähnt hast, benutzt für sin (x). Ich bin mir immer noch nicht sicher, wie ich das hier anwenden kann, da es "x = (x, y, sigma)" ist. Danke für diese Links, aber es hilft nicht viel. – irobo