Book Review: Android Application Programming with OpenCV

I was asked to do another book review for Packt Publishing which I announced a little while ago. I’ve been pretty busy with my new job (which is awesome! I’ll probably make a post about it and all the stuff I’ve learned soon!) but I eventually finished giving the book a quick read through.

It was a good book! I wish I’d had the time to follow along and make my own app but unfortunately I didn’t have time. The book has lots of detail and screenshots to guide you through making your own app which is helpful for working with more graphical type things like Eclipse. I think this book would save a developer looking to get started with Android and OpenCV a lot of time and remember people time is money (money you could spend on this book). Reading the book really made me want to start an Android OpenCV project, I think the mobility of the platform makes it so much more fun! To think all my computer vision projects have been tied to a desktop or a best a laptop until now is such a shame.

I think I like this model of offering premium lessons and documentation at a price and as long as it stays clearly on the premium side and not “a pay to even get docs” situation I think it’s a good way to get some money back into Open Source and the people who make it happen. Packt does it right too paying some of the highest royalties of any publisher of IT books.

tl;dr If you’re planning on doing some OpenCV Android development buy this book - it will undoubtedly pay for itself in time savings

You can get the book here: bit.ly/1fjbs0t

read more

Google Summer of Code Wrap up

Google Summer of Code (GSoC) 2013 has been an absolute blast! The majority of my heavy coding is over so I wanted to post a bit about the experience. It has been fantastic I’ve learned so much and done so many different and unexpected things. And before I go any further I want to give a big thanks to all the Shogun devs who helped me out and made this program so great and also thanks to Google for running such a kick ass program.

My project was to code several Independent Component Analysis algorithms specifically those based on Approximate Joint Diagonalization of matrices. It was pretty cool and similar enough to my thesis work that I was able to jump right in fairly quickly. It was an interesting change of pace for me, as I like to put it: its called Google Summer of Code not Google Summer of Research and having the code be the number one priority was a welcome change of pace for me. As the focus was code I spent a lot of time translating research papers and author’s source code into production code. I like to think I am quite the wizz with porting between numerical libraries now (matlab -> python,  python -> c etc.) Also I’m now so familiar with NumPy, Octave and Eigen3 (and almost R) that I can pretty much work fluently in each and change between them quickly almost without noticing. Have a look at my recent post One Example Three Languages!

One of the other things I got into this summer was playing with the Shogun Modular interfaces which are created using SWIG. I once tried to play with SWIG for one of my own projects but unfortunately never got far. This summer though I updated a few of the typemaps to add support for NDArray which some of my classes needed. I also playing with updating the ruby modular interface to use the newer and more active NMatrix numerical library (not included in Shogun as of yet though). Anyways playing with typemaps was an interesting experience and I definitely learned more than a few things.

One of the other things I learned was the softer side of class and framework design. I realized that even though I’ve been doing OOP for years one thing I still need more experience with is laying out a new class from scratch. The first time I had to do this I actually had to stop for a second and think, I actually wrote a basic foo bar style class example to double check that what I wanted to do would work. In the end I am quite happy with the class structure I came up with and I look forward to being involved in this type of design more often in the future.

Thats all I can think of now! If you’re a student I highly recommend doing GSoC!

Also here is a link to my final project:

http://nbviewer.ipython.org/urls/raw.github.com/pickle27/bss_jade/master/bss_jade.ipynb

read more