Computer Vision Libraries [closed] - image-processing

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I'm starting a Computer Vision project, and need to build an interface between a "Vision Agent" I want to develop and Images and Videos it should use as input.
I'm working in C++ and this interface should expose some methods for low level Input/Output operations:
load Image (in memory)
load a pool of Images (saved in a Directory)
access a single pixel in a loaded Image
load a Video as a pool of Images (would like to decide time interval between each frame)
load a single frame of a Video as an Image
I'm a newbie to Computer Vision, and need to find an efficient library that will help me implement this interface.
By browsing on the web I found some of the most used libraries for this kind of projects, such as:
OpenCV
VXL
IVT
What I'd like to know is:
Has anyone of you has worked with one of these?
Do you think they are appropriate for my task?
If yes, which one is better in your opinion (more usable and efficient).
Do you have any other suggestions?
ADDED QUESTION:
Do you know what kind of license these libraries (or other suggested ones) are produced under?

I worked with OpenCV. I don't know (or remember) the other but OpenCV is quite a first choice.
It supports all of the features you mentioned. These are rather base needs.
Keep in mind that OpenCV is rather low-level library. You will work on image matrices and some common math or statistics functions as well. It may be hard at the beginning.
I would suggest reading (or just browsing) O'Reilly's 'Learning OpenCV' especially to make use of more advanced features.
EDIT: OpenCV will be efficent for sure. Its image frame-by-frame processing would be a benefit for your needs. It is released over BSD licence.

I would also suggest OpenCV for your task at hand.
You may also check this older question for other possibilities and opinions.

Related

Is it practical to use Erlang for embedded development? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
If so, what is the storage and memory footprint?
EDIT
I had done some research about this, but failed to find useful information. The site http://www.erlang-embedded.com/ doesn't help at all. The blog article http://www.1011ltd.com/web/blog/post/embedded_erlang was a little helpful, but It would be nice to hear answers from people with more experience.
EDIT 2
The hardware that I intend to use for Erlang has 32Mb of FLASH storage for the system and 512Mb of RAM. It is dual core with 400Mhz per core. It runs Linux version 2.6.18.
EDIT 3
The motivation behind my interest in Erlang would be to solve gracefully concurrency problems. On the project that I work we have some complex middleware software that is not robust, it's hard to understand and hard to extend. Of course, you can write great concurrent software in C, but Erlang just seems like a better tool for this problem domain.
What is embedded for you?
In my world it's a system with less than 1MB Flash and typically ~64kB Ram.
In my world exists C and sometimes also C++ compilers.
But nobody heard ever for an erlang compiler for such a system (and nobody missed them).
But if embedded is for you WindowsCE or a linux running on a non PC basis hardware with > 64MB Ram and 1GB Flash,
then there should be no problem with erlang.
I would echo the sentiment that the question is vague. But, ...
Not trying to troll, but I think the answer is either "Yes!!" or "No!!" depending on your assumptions regarding hardware and what problems your are trying to solve that aren't easily solved by something more standard like C (i.e., why aren't you using something like C, there must be a reason... reducing code-size, need hot-upgrade, {erlang_value_prop, n}, etc.).
Under a certain set of criteria, the answer seems to be "yes". Evidence includes:
EMBEDDED ERLANG? ABSOLUTELY (http://www.1011ltd.com/web/blog/post/embedded_erlang)
Its embedded use in ATM switches and other telecom equipment
There is (or was) an embedded-Erlang group on Google
I think Ulf Wiger has an Embedded Erlang slide-deck as part of his work with Erlang Solutions
etc
No,
Many embedded systems don't have Erlang compilers, while all have C compilers and most have C++.
Erlang lacks the low level access required by an embedded system.
Its certainly possible to get Erlang on a cluster of Raspberry Pis, but this isn't an embedded device.

dart and 3d graphics [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to know how is Dart handling or going to handle the graphics part. I know about WebGl but its written in javascript. Dart does have api for it, but would it get something of its own. A 3d library made for it.
and also in just your opinion what is the future of 3d/2d/etc on web.
I know for the fact that websites will become like apps.
I know that the technology that is eventually going to win is has to be open source otherwise a company could just take on a direction of its own.
I also think that gap between 3d graphics and 2d as is used in websites will narrow down.
And for this matter flash has the answer(meaning to make something appear you use language A and to just make it 3d you use language B, which is not correct way, as both are graphics.) but it belongs to one company.
But all other stuff like webgl, opengl,and unity is too complicated and works on very few places.
Mobiles and desktops will have same kind of graphical power, except size...which i am not sure given googles 3d glasses.
I so wanna learn flash...but not. It doesnt need to be this way to make a button you use css and html, but to make it 3d without hacking you go learn 1 tons of libraries and whole javascript.

Image library recommendations [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm looking for some image library that can work with multiple formats (jpg,gif,png), and is fast at displaying the images to the screen.
Also, it would be nice if I could specify only part of the image to render to the screen.
In the end I want to have lots of images on the screen that I can pan and zoom about.
This is for a personal project on my ppc powerbook, and I'd prefer if the library be in c++.
FreeImage.
That's for loading.
For displaying, you can either use the FreeImage methods to make a bitmap that you can then display in some control (depending on your UI).
For the real hotness in display, you'll then want to use OpenGL.
Also, in the meantime, I've discovered CImg, which isn't a library so much as a framework for doing lots of common imaging applications and works in C++.
There are also:
Framewave based on AMD Performance Library which provides signal and image processing features
GraphicsMagick multi-threaded derivative from ImageMagick
Check related questions
Fast Cross-Platform C/C++ Image Processing Libraries
Image processing libraries
ImageMagick has libraries in several languages to do what you want.
Imagemagick seems to be the gold standard and is used in all sorts of places. What sort of environment are you working in -- Linux? Windows?

What's a Good Resource for Learning XNA? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I've been considering experimenting with game development and XNA. I'm already an expert C/C++ programmer. I read through some C# books, but haven't done any development in C# yet.
What's a good resource for learning XNA, from the point of view of someone who's already an expert programmer?
I'll second reimers and the creators.xna.com samples as a good way to get a handle on how to quickly whip things up.
On the other side of the spectrum, I highly recommend Nick Gravelyn's Tile Engine tutorials. It's a different approach, as the entire series is presented in video. It seems like a great place for beginners to get started, though new coders might have a bit of trouble with his pace. Having said that, the section on the Content Pipeline (which is an XNA-specific implementation of the pipeline concept) is a good introduction.
Ziggyware also has a good selection of tutorials, some of which are more advanced.
Shawn Hargreaves, one of the XNA's devs, has a great blog that let's you in on the internals of XNA a little more. Check out the archive if there's a topic that interests you in particular.
This is good: http://www.riemers.net/, just keep in mind that navigation is through the bar on the right. I must have been tired because it took me a while to figure it out :-O
Check out the XNA homepage and the tutorials over there, under Community -> Resources. As an experienced programmer you should be able to take it from there.
For more in-depth infos browse the XNA Team's blogs, also linked from the XNA Creators page.
I would say that a library called XNA Debug Terminal should be of some help to you. It is open source and can be setup in seconds. It allows you to see the value of any variable, invoke any method, watch values changing in real-time, and more by simply typing c# code into a terminal-like display that appears atop your game window. Unlike the normal Visual Studio debugger, you can invoke arbitrary code while your game is running. You can find out more about this at http://www.protohacks.net/xna_debug_terminal . This will greatly help you to avoid a lot of frustration while learning XNA.

What is the best language for footprint recognition? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have a project to recognize the footprint of animals. It is similar to facial recognition.
There is a need to store footprint images in a database and compare them with images captured by camera.
What is the appropriate programming language to do this?
Any language can be used for image processing, pattern recognition and object detection, which is what you're trying to do here. But you're better off finding a library or even an application instead, and then picking the language based on that choice.
Matlab is fine if you're familiar with it, unless you plan on delivering a working system that will be used by others to add or annotate data. In that case, you'll need something easier to deploy beyond your own workstation.
OpenCV might be a good place to start, and there's an OpenCV tutorial here.
Since it's a similar problem, you may want to check out the Face Recognition Homepage for more detailed information.
I think the question is rather how you represent the data and determine likeness/sameness/distance measuring rather than an implementation language.
Lisp is a strong candidate, as is C/C++ - but really you are probably better off with whatever language you/your team knows best.
Again, figure out the data representation first.
Also - find another imaging/matching solution out there. There are already ones for license plates, fingerprint, etc - and maybe just use that source. The roblem is mostly solved...
If you need to get something working quickly, I would suggest Matlab or some similar math package. There are a lot of built-in algorithms that you can use for image processing and rapid prototyping.
Your biggest problem here is developing the algorithm, not choosing the language. My advice would be to prototype your project in Matlab, if you have access to it. What you are trying to do is an active area of research, and many researchers prefer Matlab and publish their Matlab code. This means that you may be able to find Matlab code on the web that may do at least some of what you need, such as image segmentation.
I would advise against using C++, unless you actually get your algorithm to work, and speed becomes important. Matlab would allow you to quickly try out ideas, and avoid spending most of your time on implementation details. Once you develop your algorithm to the point when you are happy with the results, then you can think about implementing it as a usable system in a "real" programming language.

Resources