Detection of key-point , ORB , opencv - opencv

I'm not sure that I understand correctly what is opensource. I searched here to find answers but I didn't found anyone that asked a similar question.
How can I see the source code of the "detect" function in the file "features.hpp".
I'm looking for the math calculations of the algorithm ORB.
Is it open for everyone how wants to see it?
Just to be more accurate and sure that I'm clear enough, you can find the function's declaration ("detect") is inside "objdetect.hpp"
Thanks

In C++ the function implementations are typically written in .cpp files. The .h or .hpp files are header files which contain only the function signature and type declarations.
A good starting point for the ORB detector is here.

Related

What is the c++ file and method where the DPLL algorithm backtraces up the tree?

I'm trying to find the c++ file for Z3 where the algorithm backtraces if it can't find a solution on the current branch. I've been looking through all the files and tried debug mode on the python files, but no luck so far. I just want to add a print statement to the method, so I can tell when it is returning to a previous node and trying a new path.
Thanks!
It depends on which solver Z3 uses for your problem. It typically uses smt_context.cpp in src/smt. The relevant backjump can be traced in the context::pop_scope method. Other solvers exist too: the src/sat/sat_solver is used for bit-vector and Boolean problems. It has a similar pop method. Finally, nlsat is used for non-linear polynomial arithmetic over the reals.

how to get chunks in diff3 algorithm implementation

I'm trying to implement diff3 algorithm and currently stuck at chunks creation stage. I already know how to get LCS between original file and "other" file and LCS between original file and "my" file. Which steps need to do to get chunks?
I don't think this really answers your question, but Subversion implements this layering exactly as you describe here. It follows the theory quite closely, so you might be able to re-use some pieces.
See http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/

How is defined the Freak descriptor pattern

I'm have to code my own implementation of FREAK descriptor for a homework. I actually read the original paper but there isn't any explanation of how the build the pattern used.
In the OpenCV code is defined the buildPattern() function but it also lack of documentation on how the pattern itself is build.
So my question is, does anybody knows how the pattern is defined and how the parameters (radius, sigmas and coordinates) are selected?
It looks like the exact values aren't important, but Figure 4 shows the rough layout of the 43 receptive fields.
Their exact geometry is defined by the code here: https://github.com/kikohs/freak/blob/master/src/freak.cpp#L212

How to add a point to a path in Raphael (SVG)

I'm in a situation where I have a number of paths on the screen, updated several times per seconds. they are extremely simple line paths, each of them is just a simple line on canvas.
I need an efficient way of updating the paths. At the moment, I'm retrieving the path string for each of them, add 'L xx xx', and redraw. It's fine with a small number of lines, but the performance is really bad once the frequency (or the number of paths) increases.
so, the real question is - does Raphael provide a method that would just 'add a point to the path'?
I'm very new to vectors, not to mention Raphael and svg.
Would be grateful for any help
Thanks
K
I wonder what your doing ;)
Try just Maintenon the updated path and use the "path" attribute on the path
I would be interested to hear if the performance improves
Also you might like to visit my site and play with the demo there for lovely rounded paths
http://irunmywebsite.com/raphael/additionalhelp.php?v=2
Look at the technique Catmull Rom Curves it might inspire...
EXCUSE BARE LINKS AND SPELLING iPod!

How do I invert a matrix in F#?

I need to perform some basic OLS regression using F#. To do this I need some Linear Algebra functions, but I'm confused as to what's out there. I can't find any way to invert a matrix. There is some documentation for a library called Microsoft.FSharp.Math.LinearAlgebra, but I don't know if that exists anymore.
If you add the FSharp Powerpack to your project (in .NET references), you can use various functionality of the matrix library
edit: you also need to add the experimental library Fsharp.Powerpack.MathProviders, then you can call as follows
open Microsoft.FSharp.Math
let m = Matrix.create 10 10 1.2
let m2 = Experimental.LinearAlgebra.Inverse m
FlyingFrog do a Numerics library which contains Matrix inversion amongst many other functions.
Not sure which is preferable, that or the (apparently deprecated) 'experimental' code from the PowerPack. I guess you could always keep the source code for the managed bit of the PowerPack version in a safe place, still available here:
C:\Program Files\FSharp-1.9.6.2\source\fsharp\FSharp.PowerPack\math\lapack\linear_algebra_managed.fs.
I don't know; in the 1.9.6 version of F# I don't see anything offhand, the docs are here
http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/namespaces.html
and there is Matrix stuff in the Microsoft.FSharp.Math namespace in the FSharp.Powerpack.dll, but I don't see 'invert' offhand, and I don't know about the 'LinearAlgebra' stuff (deprecated? web search suggests it disappeared a few releases back).
Have you checked out this. It might help.

Resources