What is the best way of learning Digital Image processing? [closed] - matlab

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am quite interested in image processing. What is the best way of learning image processing -- whether to begin with MATLAB or OpenCV? I am familiar with C and C++.
Any books/videos/blogs to recommend?

MATLAB is easier to start with but it has limited library and slower implementation.
OpenCV, being a C/C++ library, is the most popular. You can access great tutorials and references for it. It is a well documented and open-source library. Also, there are many discussion forums, Q&A web-sites, and blogs (http://opencvpython.blogspot.com/ , http://opencv-code.com/) about it.
SimpleCV, being a python library, is a wrapper library on OpenCV. Hard to comment on that -since I didn't use it- but it might not cover all the broad methods of OpenCV. On the other hand, it is easier to play with, however not well-known. You may not find answers to your questions on the web.
Here is a guide-book for OpenCV.
Here is a guide-book for SimpleCV.
In any case, I suggest you not to memorize or copy. Do not ask for codes, ask for ideas. Read the books and learn about the methods you are going to use -like what convolution kernel is, what the alpha channel is, etc.- Thats what improves you and makes you capable of dealing with broader range of vision problems.

The only problem with MATLAB, for a beginner, is that it is really expensive. Some universities buy it without the Image Processing Toolbox, in which case it is not so useful. Octave is well supported by the open source community, that is another alternative
"Processing" is a language that is easy to learn and powerful. You might want to take a look at it.
OpenCV is a bit hard to learn at the start, but very powerful. There are enough examples available in OpenCV documentation pages, so I recommend OPenCV over the other two.

Related

What happened to OpenRT? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I have been looking around for powerful raytracing interfaces and discovered references to OpenRT but can't seem to find it anywhere. Does it even still exist?
If it is gone, what is the most used library for raytracing that is powerful enough for realtime rendering.
My answer below is all I have managed to find.
Update
I have continued my search and only seem to find OpenRL as it supports most of what I need. However I may end up writing my own wrapper or engine that suits my needs as there seems to be no mature solution. Thanks for the suggestions.
PowerVR Wizard GPUs by Imagination Technologies have been announced recently.
"Wizard is essentially an extension of Imagination’s existing PowerVR
Series6XT Rogue designs, taking the base hardware and adding the
additional blocks necessary to do ray tracing"
Possible, and seems to be the only, solution I have found is OpenRL.

Where to start with dependent type programming? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
There is an Idris tutorial, an Agda tutorial and many other tutorial style papers and introductory material with never ending references to things yet to learn. I'm kind of crawling in the middle of all these and most of the time I'm stuck with mathematical notations and new terminology appearing suddenly with no explanation. Perhaps my math sucks :-)
Is there any disciplined way to approach dependent type programming? Like when you want to learn Haskell, you start with "Teach yourself a Haskell", when you want to learn Scala, you start with Odersky's book, for Ruby you read that weird tutorial with mutated bugs in it. But I can't start Agda or Idris with their books. They are way above my head. I tried Coq and got stuck in its all-about-teorm-proving style. Agda requires a huge math background and Idris, well, let's leave that for now!
I understand static type systems very well, I am kind of proficient with Scala and I can use Haskell if necessary. I understand the Functional Paradigm and use it day to day, I understand Algebraic Data Types and GADTs (quite smoothly actually) and I recently managed to comprehend the Lambda Cube. I'm lacking in the math and logic parts, though.
I would highly recommend Software Foundations. This book is quite good at introducing you to Coq one step at a time. There is a lot of theorem proving, yes, but that's part of the deliciousness of dependent types. It's a great feeling when the line between "programming" and "proving" starts to blur.
I'm lacking in the math and logic parts, though.
I think Software Foundations does a pretty good job of bringing you up to speed for the logic you need to know. Already being comfortable with the concept of implication helps, though.
(Notice: This is a self advertisement)
I am writing an Agda tutorial and my primary goal is to
let people to play with Agda without theoretical background.
This tutorial may solve most of your problems:
tries to explain Agda programming without outer references
requires only secondary school mathemtaics
tries to teach programming practices also
It is under development, but the first half is kind of ready.

Lego Mindstorms programming - which book do you recommend for kids? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
There's a ton of books on Lego Mindstorms programming out there - not least from the always-excellent No Starch Press.
Which book would you recommend for direct use by, or for teaching, children - primarily the 9-13 age range, but possibly a bit younger and a bit older too.
I'm assuming that NXT 2.0 is the language to learn.
I would suggest letting your children learn the language that is issued with the robotics kit at first. They will learn all the basics required (such as decision making, looping, reading data and outputting data and so on...). There is a book available on programming in NXT-G.
Once the feel comfortable with the language and are starting to feel limited in what they want to do I suggest they move onto something a little more challenging such as text based programming.
I would refer them at first to NXC (which is procedural programming). John C Hansen has written to books on programming with NXC.
Once they "mastered" NXC, I would suggest they have a look at leJOS, which is programming the NXT in java. They can learn all about object orientated programming and the benefits it provides. There is also a book on programming Minstorms in java.
I hope this helps. (This is not a have-to-do way to learn how to program the NXT, but I found it very comforting. :) ).
PS: Remember, to learn something there are more resources than books, eg online tutorials and so on.

DSP sound effect library for iPhone/iPad/iOS? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Any 3rd party, or built in stuff?
You can look at the MoMu release of the Synthesis Tool Kit (STK) library. It has a permissive license and is lightweight, however if depends what kind of "effects" you are looking for. It has all the building blocks to do sound synthesis and processing (class documentation here).
I think you should use this audio DSP library for iOS/OSX: NVDSP
It is easy to use but still produces high-quality results.
It didn't exist at the time of your question, but well, I think it's the best option today. And I really don't say that just because I wrote it! ;)
iOS 5 has some new built-in Audio Units for filters and some other simple effects. Before iOS 5, it appears that most audio app developers rolled their own DSP effect libraries (or purchased a commercial time-pitch library, etc)
Try this http://theamazingaudioengine.com/
Little late but might help someone else
Also late, but great sound effect libraries are made by LittleEndian.com

Well written Perl Open Source to learn from? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
is there any well written perl open source out there (not using any kinda of framework) that i could use as sample for learning and good pratice of the perl...
I've searched around and found many things for PHP, but nothing in perl that uses no framework.
Thanks in advance.
Have you tried browsing CPAN? You can find code there doing pretty much anything, and many distributions post links to their github repositories, so you can follow along in the development process.
CPAN Ratings has reviews and rankings of a large number of releases, which helps you differentiate between good releases and bad ones, but being able to make this determination for yourself would be best, which you get through learning and experience.