Solving eigen problem with sparse matrices? - opencv

I'm trying to compute the eigenvectors and eigenvalues of a fairly big matrix. I expect that matrix will be sparse though. Can anyone recommend a way to solve this efficiently?
I've called cv::eigen but the process takes way too long. If anyone has an efficient implementation or a library to solve this I'd really appreciate it.

Related

How to choose the right normalization method for the right dataset?

There are several normalization methods to choose from. L1/L2 norm, z-score, min-max. Can anyone give some insights as to how to choose the proper normalization method for a dataset?
I didn't pay too much attention to normalization before, but I just got a small project where it's performance has been heavily affected not by parameters or choices of the ML algorithm but by the way I normalized the data. Kind of surprise to me. But this may be a common problem in practice. So, could anyone provide some good advice? Thanks a lot!

Algorithm used in Achartengine

I'd like to ask what algorithms have been used in the achartengine? Is Dijkstra's algorithm used in here or any other algorithms? I'm learning algorithms as of now. And if you could give me recommendations where to start, I'd gladly appreciate it. Thank you.
No fancy algorithm has been used in AChartEngine. The only one is for transforming real data to screen coordinates.

What are the common algorithm to calculate similarity between zones of images

I have already tried mean squared error and cross correlation, but they don't give me that much of a good result. I'm doing that for Brain MRI. Thank you.
I have seen principal component analysis used to compare separate brain scan images.
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5874201
This might be useful, but I am not entirely sure what you are trying to do with similarity between sones.

Stereovision algorithms

For my project, supposed to segment closest hand region from camera, I initially try openCV's stereovision example. However, disparity map looks very bad and its useless for me.
Is there any other method which is better than openCV implementation and have some output(image-video). Because, my time is limited, I must choose one better algorithm and implement this.
Thank you.
OpenCV implements a number of stereo block matching algorithms some of them pretty cutting edge.
Disparity maps always look bad except in very simple circumstances - the first step is to try and improve the source images, the lighting and the background. I
If it was easy then everybody would eb doing it and there would be no market for expensive 3D laser scanners.
Try the different block matching algorithms provided by OpenCV. The little bit of experimentation I've done so far seems to indicate that cv::StereoSGBM gives better disparity maps than cv::StereoBM, but is slower.
The performance of the block matching algorithms will depend on what parameters they are initialized with. Have a look at the stereo examples again here, notice line 195-222 where the algorithms are initialized.
I also suggest you use some basic GUI (OpenCV:s highgui for example) to manipulate these parameters real-time when finetuning the algorithm.

Can I get the OpenCV source code snippet for k-means clustering algorithm?

I was going the K-means algorithm as a technique for clustering images, as part of my project in the area of Image Processing. In the process, I decided to code using OpenCV libraries. So, can somebody help me in coding the algorithm in C++ using OpenCV. I can manage well, if some code snippet is provided. I just started learning about the OpenCV environment. Thank you for reading this. I ll be grateful for your help. waiting for a reply!
Before you implement clustering (k-means or otherwise), you need to figure out how to compare one image vs the other. This is usually dependent on the type of images you have, what features you can extract (colors, edges, shapes etc.).
A simple way of comparing 2 images would be to use the SURF features and compare to other images' SURF features. The OpenCV samples should get you started on how to extract SURF.
Other approaches would be to extract edges, shapes, color histograms and compare to others. Once you have done so, clustering should be fairly straightforward.
Check mlem.cpp and cxmatrix.cpp.
If you're new to OpenCV, have a look at my website.. http://aishack.in/ I've put up some tutorials/articles on vision and vision algorithms. Hopefully they'll help!

Resources