what library is able to extract SIFT features in Python? - python-2.7

In python which library is able to extract SIFT visual descriptors? I know opencv has an implementation but it is not free to use and skimage does not include SIFT particularly.

I would like to suggest VLFeat, another open source vision library. It also has a python wrapper. The implementation of SIFT in VLFeat is modified from the original algorithm, but I think the performance is good.

OpenCV is free to use.
But SIFT itself as algorithm is patented, so if you would make your own implementation of SIFT, not based on Lowe`s code, you still could not use it in commercial application. So, unless you have got a license for SIFT, no library with it, is free.
But you can consult with patent guys - some countries like Russia does not allow to patent algorithms - so you can you SIFT inside such country.

Related

Exporting 3D Images from C++ to Matlab .fig files

I have a visual analytics program that handles the visualization of 3D datasets (e.g., MRI datasets). For multiple reasons, I want to be able to watch the result (3D-grid image visualizable using ray tracking techniques, e.g., the ray-marching algorithm) in Matlab. I see that Matlab relies on .fig files, but I do not find any documentation of its structure.
Does people know where .fig files are documented? Is there any C++ library that proposes such a functionality? My C++ code runs on a linux workstation and I do not own any Matlab license: the generated files are not meant to me but to others owning such a license.
Thanks!

How to apply wavelet filter to MRI nifti images?

I need to denoise nifti images using wavelet transform. I did it in MATLAB but I should write the code for my project in Python. I am new to Python.
Python has a neuroimaging community of practice that lives at http://nipy.org. In particular, they have a library called NiBabel (see their introduction and github) for reading nifti and other formats (this will replace MATLAB's niftiread). You may also be interested in the PyWavelets library, which can replace basic parts of the MATLAB wavelet toolbox. The Pillow library is probably the most up to date image editing/processing library for Python, but as far as I'm aware wavelets isn't something covered there.
Is that enough to get you started? A basic discussion of how Python packages work seems beyond the scope of this question, but you can do some reading at https://pypi.org/help/ if you are completely lost.

Extracting LBPFeatures in OpenCV

I am trying to extract the LBPFeatures of an image using OpenCV and C++, but there seems to be no in-built function to extract the features.
Can anyone help me?
I need to find the feature points and not the histogram.
The LBP authors give an optimized C code in one of their papers: here is the link.
you can find an old implementation of OpenCV in https://github.com/bytefish/opencv/tree/master/lbp
That libraries are included in newer versions of OpenCV, but the link have an example implementation

c++ video compression library that supports many different compression algorithms?

For a scientific project i need to compress video data. The video however doesn't contain natural video and the quality characteristics of the compression will be different than for natural footage (preservation of hard edges for example is more important than smooth gradients or color correctness).
I'm looking for a library that can be easily integrated in an existing c++ project and that let's me experiment with different video compression algorithms.
Any suggestions?
Look at FFmpeg. It is the the most mature open source tool for video compression and decompression. It comes with a command line tool, and with libraries for codecs and muxers/demuxers that can be statically or dynamically linked.
As satuon already answered, FFmpeg is the go-to solution for all things multimedia. However, I just wanted to suggest an easier path for you than trying to hook your program up to its libraries. It would probably be far easier for you to generate a sequence of raw RGB images within your program, dump each out to disc (perhaps using a ridiculously simple format like PPM), and then use FFmpeg from the command like to compress them into a proper movie.
This workflow might cut down on your prototyping and development time.
As for the specific video codec you will want to use, you have a plethora of options available to you. One of the most important considerations will be: Who needs to be able to play your video and what software will they have available?

is there a DWT function in opencv?

is there a DWT (discrete wavelet transform ) function in opencv ?? else if anyone have link of its implementation in c++
No, I don't believe OpenCV has that functionality.
This page might be useful.
It appears that openCV does not have an implementation of the DWT algorithm, but a quick google search turns up two results which may be relevant.
First is a result from Koders code search, which is an implementation designed to process MPEG4 frames for an image decoding program.
There is also a google code project, wavelet1d which is a version designed to process a 1d array of data.
You may be able to use those two implementations to build your own suitable for your uses?