Mastering OpenCV with Practical Computer Vision Projects (Anglais) Broché – 3 décembre 2012
|Neuf à partir de||Occasion à partir de|
- Choisissez parmi 17 000 points de collecte en France
- Les membres du programme Amazon Premium bénéficient de livraison gratuites illimitées
- Trouvez votre point de collecte et ajoutez-le à votre carnet d’adresses
- Sélectionnez cette adresse lors de votre commande
Produits fréquemment achetés ensemble
Les clients ayant acheté cet article ont également acheté
Descriptions du produit
Présentation de l'éditeur
This is the definitive advanced tutorial for OpenCV, designed for those with basic C++ skills. The computer vision projects are divided into easily assimilated chapters with an emphasis on practical involvement for an easier learning curve.
- Allows anyone with basic OpenCV experience to rapidly obtain skills in many computer vision topics, for research or commercial use
- Each chapter is a separate project covering a computer vision problem, written by a professional with proven experience on that topic.
- All projects include a step-by-step tutorial and full source-code, using the C++ interface of OpenCV.
Computer Vision is fast becoming an important technology and is used in Mars robots, national security systems, automated factories, driver-less cars, and medical image analysis to new forms of human-computer interaction. OpenCV is the most common library for computer vision, providing hundreds of complex and fast algorithms. But it has a steep learning curve and limited in-depth tutorials.
Mastering OpenCV with Practical Computer Vision Projects is the perfect book for developers with just basic OpenCV skills who want to try practical computer vision projects, as well as the seasoned OpenCV experts who want to add more Computer Vision topics to their skill set or gain more experience with OpenCV's new C++ interface before migrating from the C API to the C++ API.
Each chapter is a separate project including the necessary background knowledge, so try them all one-by-one or jump straight to the projects you're most interested in.
Create working prototypes from this book including real-time mobile apps, Augmented Reality, 3D shape from video, or track faces & eyes, fluid wall using Kinect, number plate recognition and so on.
Mastering OpenCV with Practical Computer Vision Projects gives you rapid training in nine computer vision areas with useful projects.
What you will learn from this book
- Perform Face Analysis including simple Face & Eye & Skin Detection, Fisherfaces Face Recognition, 3D Head Orientation, complex Facial Feature Tracking.
- Do Number Plate Detection and Optical Character Recognition (OCR) using Artificial Intelligence (AI) methods including SVMs and Neural Networks
- Learn Augmented Reality for desktop and iPhone or iPad using simple artificial markers or complex markerless natural images
- Generate a 3D object model by moving a plain 2D camera, using 3D Structure from Motion (SfM) camera reprojection methods
- Redesign desktop real-time computer vision applications to more suitable Android & iOS mobile apps
- Use simple image filter effects including cartoon, sketch, paint, and alien effects
- Execute Human-Computer Interaction with an XBox Kinect sensor using the whole body as a dynamic input
Each chapter in the book is an individual project and each project is constructed with step-by-step instructions, clearly explained code, and includes the necessary screenshots.
Who this book is written for
You should have basic OpenCV and C/C++ programming experience before reading this book, as it is aimed at Computer Science graduates, researchers, and computer vision experts widening their expertise.
Biographie de l'auteur
Daniel Lélis Baggio
Daniel Lélis Baggio started his work in computer vision through medical image processing at InCor (Instituto do Coração Heart Institute) in São Paulo, where he worked with intra-vascular ultrasound image segmentation. Since then, he has focused on GPGPU and ported the segmentation algorithm to work with NVIDIA's CUDA. He has also dived into six degrees of freedom head tracking with a natural user interface group through a project called ehci (http://code.google.com/p/ehci/). He now works for the Brazilian Air Force.
Shervin Emami (born in Iran) taught himself electronics and hobby robotics during his early teens in Australia. While building his first robot at the age of 15, he learned how RAM and CPUs work. He was so amazed by the concept that he soon designed and built a whole Z80 motherboard to control his robot, and wrote all the software purely in binary machine code using two push buttons for 0s and 1s. After learning that computers can be programmed in much easier ways such as assembly language and even high-level compilers, Shervin became hooked to computer programming and has been programming desktops, robots, and smartphones nearly every day since then. During his late teens he created Draw3D (http://draw3d.shervinemami.info/), a 3D modeler with 30,000 lines of optimized C and assembly code that rendered 3D graphics faster than all the commercial alternatives of the time; but he lost interest in graphics programming when 3D hardware acceleration became available.
In University, Shervin took a subject on computer vision and became highly interested in it; so for his first thesis in 2003 he created a real-time face detection program based on Eigenfaces, using OpenCV (beta 3) for camera input. For his master's thesis in 2005 he created a visual navigation system for several mobile robots using OpenCV (v0.96). From 2008, he worked as a freelance Computer Vision Developer in Abu Dhabi and Philippines, using OpenCV for a large number of short-term commercial projects that included:
- Detecting faces using Haar or Eigenfaces
- Recognizing faces using Neural Networks, EHMM, or Eigenfaces
- Detecting the 3D position and orientation of a face from a single photo using AAM and POSIT
- Rotating a face in 3D using only a single photo
- Face preprocessing and artificial lighting using any 3D direction from a single photo
- Gender recognition
- Facial expression recognition
- Skin detection
- Iris detection
- Pupil detection
- Eye-gaze tracking
- Visual-saliency tracking
- Histogram matching
- Body-size detection
- Shirt and bikini detection
- Money recognition
- Video stabilization
- Face recognition on iPhone
- Food recognition on iPhone
- Marker-based augmented reality on iPhone (the second-fastest iPhone augmented reality app at the time).
OpenCV was putting food on the table for Shervin's family, so he began giving back to OpenCV through regular advice on the forums and by posting free OpenCV tutorials on his website (http://www.shervinemami.info/openCV.html). In 2011, he contacted the owners of other free OpenCV websites to write this book. He also began working on computer vision optimization for mobile devices at NVIDIA, working closely with the official OpenCV developers to produce an optimized version of OpenCV for Android. In 2012, he also joined the Khronos OpenVL committee for standardizing the hardware acceleration of computer vision for mobile devices, on which OpenCV will be based in the future.
David Millán Escrivá
David Millán Escrivá was eight years old when he wrote his first program on an 8086 PC with Basic language, which enabled the 2D plotting of basic equations. In 2005, he finished his studies in IT through the Universitat Politécnica de Valencia with honors in human-computer interaction supported by computer vision with OpenCV (v0.96). He had a final project based on this subject and published it on HCI Spanish congress. He participated in Blender, an open source, 3D-software project, and worked in his first commercial movie Plumiferos - Aventuras voladoras as a Computer Graphics Software Developer.
David now has more than 10 years of experience in IT, with experience in computer vision, computer graphics, and pattern recognition, working on different projects and startups, applying his knowledge of computer vision, optical character recognition, and augmented reality. He is the author of the "DamilesBlog" (http://blog.damiles.com), where he publishes research articles and tutorials about OpenCV, computer vision in general, and Optical Character Recognition algorithms. David has reviewed the book gnuPlot Cookbook by Lee Phillips and published by Packt Publishing.
Khvedchenia Ievgen is a computer vision expert from Ukraine. He started his career with research and development of a camera-based driver assistance system for Harman International. He then began working as a Computer Vision Consultant for ESG. Nowadays, he is a self-employed developer focusing on the development of augmented reality applications. Ievgen is the author of the Computer Vision Talks blog (http://computer-vision-talks.com), where he publishes research articles and tutorials pertaining to computer vision and augmented reality.
Naureen Mahmood is a recent graduate from the Visualization department at Texas A&M University. She has experience working in various programming environments, animation software, and microcontroller electronics. Her work involves creating interactive applications using sensor-based electronics and software engineering. She has also worked on creating physics-based simulations and their use in special effects for animation.
Here is her blog - http://howdweknows.blogspot.com/
Jason Saragih received his B.Eng degree in mechatronics (with honors) and Ph.D. in computer science from the Australian National University, Canberra, Australia, in 2004 and 2008, respectively. From 2008 to 2010 he was a Postdoctoral fellow at the Robotics Institute of Carnegie Mellon University, Pittsburgh, PA. From 2010 to 2012 he worked at the Commonwealth Scientific and Industrial Research Organization (CSIRO) as a Research Scientist. He is currently a Senior Research Scientist at Visual Features, an Australian tech startup company.
Dr. Saragih has made a number of contributions to the field of computer vision, specifically on the topic of deformable model registration and modeling. He is the author of two non-profit open source libraries that are widely used in the scientific community; DeMoLib and FaceTracker, both of which make use of generic computer vision libraries including OpenCV.
Here is his blog address - http://jsaragih.org/
Roy Shilkrot is a researcher and professional in the area of computer vision and computer graphics. He obtained a B.Sc. in Computer Science from Tel-Aviv-Yaffo Academic College, and an M.Sc. from Tel-Aviv University. He is currently a PhD candidate in Media Laboratory of the Massachusetts Institute of Technology (MIT) in Cambridge.
Roy has over seven years of experience as a Software Engineer in start-up companies and enterprises. Before joining the MIT Media Lab as a Research Assistant he worked as a Technology Strategist in the Innovation Laboratory of Comverse, a telecom solutions provider. He also dabbled in consultancy, and worked as an intern for Microsoft research at Redmond.
Here is his blog address - http://www.morethantechnical.com/
Aucun appareil Kindle n'est requis. Téléchargez l'une des applis Kindle gratuites et commencez à lire les livres Kindle sur votre smartphone, tablette ou ordinateur.
Pour obtenir l'appli gratuite, saisissez votre ou numéro de téléphone mobile.
Détails sur le produit
Commentaires en ligne
Meilleurs commentaires des clients
Second disapointment : the code in the book is often not up to date with the downloadable code though there was only one modification of the online code until now.
In general, the scientific explanations in this book are really poor, there are rarely justifications about why using this method rather than this other method. Most of the time it is just "do like this", "do like that"; or even worse they tell you to do some method but then you realize that the given code goes another way.
The content of this book may seem appealing but the realisation is really poor.
Seems to me like a book made in a hurry for some reason, and not with time and the will to do good work.
P.S. The first two comments are from an author and supposedly some of his friends, so don't take them into account.
Commentaires client les plus utiles sur Amazon.com (beta)
The book covers a lot of different topics that go beyond the basics. You'll learn how to use OpenCV to create augmented reality applications, both with marker detection and without. There's also a nice chapter about number plate recognition.
The pieces I like the most are the chapters on non-rigid face tracking and head pose estimation. These chapters can be a good way to get you started recreating the Face Substitution piece made by Kyle McDonald and Arturo Castro.
The code for all projects in this book is available on Github, which is a great thing. If any bugs are found, this might be the best way for the authors to make changes and give everybody access to the most recent version of the code.
A big plus is that for the most part it uses the new OpenCV C++ interface. I say "mostly" because the authors also demonstrate projects for mobile devices - one for Android and one for iOS, which I really enjoyed reading.
If you're looking for theory, you will find a bit in this book, but not much. I found the level that things were explained quite good, because you could understand what the code in the book does, but didn't necessarily have to be able to implement or understand the math behind them. The theoretical explanations have varying quality - sometimes they're right on the money, easy to understand and precisely relevant for what you're doing, and sometimes it's more than necessary. For the most part, I thought the authors did a good job of explaining what they were doing and why without forcing the reader to mire through lots of computer vision explanations that might not be interesting for somebody who's just wanting to implement a project that uses computer vision techniques. In every chapter, it was clear that the author really knew what he was talking about and many explanations you'll find in this book will be more concise and clear than what you'll find elsewhere.
From a programming standpoint, the book is a bit of a potpourri. There are lots of really good tips for working with OpenCV in general and the authors always point you to further documetation. Also, besides the full example code used in the book, there are some nice utilities included that you might want to use for your own projects. A few chapters have very concise, clear code that's easy to follow and well-designed. In other places I felt that the code was much more quick and dirty. There's some using directives, which are a pet peeve for me, as well as really big try blocks, writing to globals, and unnecessary casting. In a lot of places, you'll notice the authors using the functions from the old C interface, even though they're writing in C++. In some places, you'll also find that the code is a bit redundant and difficult to extend, but that might actually be an advantage for a beginner who's more interested in seeing how to get something done than understanding complex but elegant design patterns. Taken as a whole, there is some nice code in the book, but there's also some very ugly code here too, depending on what part you're reading. It all implements the algorithms described in the chapters, however, and that is the focus of the book. It's definitely not a collection of best programming practices, but on the other hand, that's not what it's trying to be. You will find good recipes that contain lots of examples that you can apply to your own code, and they're explained well enough to make that easy for you too.
I encourage you to read all the chapters of this book if you buy it. I read it with the intent of learning some techniques for my own projects, but although I could have done that by reading just a few chapters, I was glad to have read the whole thing. There are good tips and examples for working with OpenCV in general, and I found the sections on head pose estimation and face recognition very inspiring for my own work, even though I don't work with facial recognition at all. The book may not be a programming guide, but it definitely is a guide to computer vision and it shows you how to get very, very far, just by using OpenCV. It was well worth my time.
Contributing authors are consistent in their ability to convey an important theme or key concept for each chapter, author and editor Shervin Emami ensured refreshingly varied approaches and styles, probably due in part to the different parts of the world each author is drawn from. I was fortunate enough to be in contact with one of the contributing authors, Roy Shilkrot, who found time away from his PhD studies at MIT to be both helpful and interactive, so can say first hand that this book represents the work of people who are willing to help others learn and do cool things with computer vision.