These complex sort of projects are the ones that could really do with small neat introductionary blog posts where simple features are demoed with code demonstrations..etc. this is so much more needed than more ruminations on JS libraries but also so much harder work for the blog authors I guess!
That is good stuff but no: what I am after is blog posts that are editorially aimed at drawing the reader into the subject and then making something of practical/genuine value happen. There is many tutorials presented on OpenCV's page and I'm by no means judging all of them but many of them do seem to fall into 2 discreet categories, either a) extremely simple ( http://docs.opencv.org/doc/tutorials/introduction/load_save_... ) or b) extremely complex ( http://docs.opencv.org/doc/tutorials/ml/non_linear_svms/non_... ). Neither is very exciting/accommodating for someone starting out in the field.
They do have some official tutorials, but it's up to you to read the documentation and code to figure things out. It's not as bad as it sounds because everything is fairly straightforward. Bring patience, though.
"Bring patience, though.", and that's the exact thing; when starting out with a new framework/technology/etc. I really need test examples that are digestible to get me going - the machine learning part of the tutorials: http://docs.opencv.org/doc/tutorials/ml/table_of_content_ml/... is no doubt brilliant but it is utterly inaccessible to me without serious time input.
I'm there with you. This thing is so complicated that it might be hard to just do an easy to follow tutorial. I've been tinkering with it for a while in a robotics application, and progress is slow (steady, though). One of those fields where the roads are still unpaved. :)
Does anybody know of some good, comprehensive book (free or paid) with guide to all the algorithms available in OpenCV and how to use them, approachable for a "common programmer"? (i.e. for somebody with approximately zero knowledge of image recognition terminology). I'd be very interested in reading one; when looking purely at the API docs, I'm totally lost.
The OpenCV Python API is actually pretty good. I've been compiling and using the latest stuff off of master for the past couple years and when I took Computer Vision Fall 2013 at GMU.
However, I don't think that much of it is generally useful without a basic understanding of CV. The documentation is pretty good[0], but it will be hard to apply them without understanding the tradeoffs.
The CV courses I've taken focused a lot on lecture slides and handouts rather than a comprehensive textbook (although I've heard good things about Programming Computer Vision with Python[1] as an introductory text).
I think you might be surprised with how easy it is to use the basic functions of OpenCV. Just get started, poke around with it, and you'll start getting more familiar with it and able to understand the more advanced stuff.
Also, the documentation has a lot of tutorials available. It's pretty good.
Not exactly what you asked, but... SimpleCV is a derivative project of OpenCV that's easy to dive into it and worth considering. O'Reilly published the short book "Practical Computer Vision" on it. Easy to go from that to OpenCV after some practice.
Seconded. I have a specific application in mind. My current approach is an IPython notebook (with OpenCV 2) and trial and error to find a combination of algorithms that work, but I'm not convinced I'm using the correct algorithms at all.
One of the long withstanding issues with Python 3 has been that some of the major libraries have yet to support it. I think this is great news for the Python community. Hopefully more will follow suit soon.
Now that OpenCV has deprecated C a while ago, I would love to see someone release an OpenCV wrapper for Rust. This is what I am missing to jump into Rust.
What do you mean that they've deprecated C? I see C code everywhere in their sourcetree.
From their front page:
"It has C++, C, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android"
> Actually C API will stay in the library, but it will not be available by default. It will be put into separate header files, that should be manually included by user. So, it would be possible to compile the legacy code, but you should add these compatibility includes manually.
> It is possible that OpenCV will generate compiler warnings in case you're using C API. These warnings will notify you that you're using deprecated API, and you should migrate to C++
They go on to say that basically OpenCV's internals are moving to C++, the C API will essentially no longer be an officially supported API until some kind of automated C-to-C++ wrapper in made in the future.
The C stuff still available has to be included manually, no longer officially documented and is an older OpenCV version.
I haven't found a way to figure out what features have a OpenCL implementation, that I could use with the Transparent API. For example, in the features2d folder only FAST, ORB and BFMatcher have files in the opencl folder, so can't other features be used with OpenCL? Is there a list of features that have OpenCL implementation?
"a subset of Intel IPP (IPPCV) is given to us and our users free of charge, free of licensing fees, for commercial and non-commerical use. It’s used by default in x86 and x64 builds on Windows, Linux and Mac."
Has OpenCV just had a great big binary blob dropped in the middle of it?
From what I understand, Intel has been part of the development of OpenCV from the begining. So I wouldn't call it exactly a "big binary blob dropped in the middle".
What's that got to do with it? It still means if I do a "default install" of OpenCV it will be executing code from a mysterious blob for which source is not available.
Site seems to be crippling under a load, homepage is now throwing an "Error establishing a database connection". Off topic, but another great real-world case of why static sites are smart.