My father is a dentist. When I was in my early childhood, he used to repeat the same sentence over and over again, which as far as I can remember and translate properly now was something like:
“Son, get the right tool for the job.”
And as he was looking at me trying to wash the car with the wrong washing product and spending twice the amount of time that I should have, I knew somewhere deep inside of me that he was right.
He did not use a screwdriver to pull out teeth from his patients, and he had what seemed like twenty different brushes to clean each type of tooth. I even thought it was funny at the time.
Fast-forward thirty years later; I was talking about this book with him and he added:
“Well, son, you know, it’s not only about the right tool, it’s about the right tool at the right time.”
And so, this is the philosophy guiding this book.
OpenCV, the computer vision library, has always been one of the tools to work on imaging- and vision-related projects, even more so with every improvement in AI and neural networks. But OpenCV was always taking some time to get the right libraries, and the right build tools, and the right build settings, and so forth.
The vision of the Clojure wrapper Origami is to bring you all the power of OpenCV to your hands almost instantly, along with a pleasurable syntax. This way we hope you can focus and spend your time entirely on the job, not on the tool.
Chapter 1 will introduce you to pure OpenCV on the JVM using Java, Scala, and Kotlin and present some of their shortcomings.
Chapter 2 will present Origami, the Clojure wrapper, and how to use it to perform simple image manipulation.
Chapter 3 will get you up to speed with more advanced concepts of image manipulation, like shape finding, but still in a pleasant syntax.
Finally, Chapter 4 moves to video analysis, with shape finding, transformations, and various techniques to analyze real-time streams with ease.
It’s been the most amazing typing race of my life to get this book out on time, and to beat time and the odds, I got support from so many people that it would take another book just to write the list of names. So …
Thank you to all my family, brother, sister, friends, Abe-san, all my soccer friends, people still having Guinness pints in Ireland (keep one for me!), the awesome people in America (who sometimes send LP records… when I need them the most), Sawada-san, Chris and the Biners, my French friends (always there for support even when not being asked for it), publisher Apress, Divya for never being impressed and kicking my butt on a regular basis, and … the people deep in my heart for your NEVER-ENDING support. I never could have finished this without you. I appreciate it so much.
And, of course… thank you to my two beautiful daughters, Mei and Manon, for keeping up and always doing their best even during hard times. You simply rock! I love you.
is currently Chief Technical Officer of Karabiner Software and a leader of development teams.
He is also an active contributor to the open source software community. As a developer and technical consultant, Nico has been involved over many years in designing large-scale server applications for a video conferencing company, managing enormous clusters of databases through high-performance middleware developed from scratch, enabling Japanese leaders with content management and process management systems, and pushing the boundaries of business processes for leading Asian companies.
Nico is an ardent advocate of Agile methods and is focused on getting the job done right to satisfy clients. He also loves to push friends and team members to challenge themselves and reach their goals. He has lived by those empowering standards in various countries, including France, America, Ireland, Japan, China, and India. Nico is also the author of a few other books on the Clojure programming language, in both English and Japanese.
He is currently based in Tokyo, Japan, where he is often found after hours playing soccer, hiking, performing live concerts with his guitar, and enjoying life with friends and colleagues.
is an AI developer at Manacola Private Ltd. He has two years of experience in big data analytics. He is a postgraduate in Computer Science with a specialization in Big Data Analytics. Aakash has also made contributions to the Microsoft bot builder.
Currently, Aakash is working on problems related to Conversational Bots and Natural Language Understanding.
He is passionate about Machine Learning meetups, where he often presents talks.
3.144.17.137