Learning OpenCV

Computer Vision with the OpenCV Library

Author: Gary Bradski,Adrian Kaehler

Publisher: "O'Reilly Media, Inc."

ISBN: 0596554044

Category: Computers

Page: 580

View: 9397

"This library is useful for practitioners, and is an excellent tool for those entering the field: it is a set of computer vision algorithms that work as advertised."-William T. Freeman, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology Learning OpenCV puts you in the middle of the rapidly expanding field of computer vision. Written by the creators of the free open source OpenCV library, this book introduces you to computer vision and demonstrates how you can quickly build applications that enable computers to "see" and make decisions based on that data. Computer vision is everywhere-in security systems, manufacturing inspection systems, medical image analysis, Unmanned Aerial Vehicles, and more. It stitches Google maps and Google Earth together, checks the pixels on LCD screens, and makes sure the stitches in your shirt are sewn properly. OpenCV provides an easy-to-use computer vision framework and a comprehensive library with more than 500 functions that can run vision code in real time. Learning OpenCV will teach any developer or hobbyist to use the framework quickly with the help of hands-on exercises in each chapter. This book includes: A thorough introduction to OpenCV Getting input from cameras Transforming images Segmenting images and shape matching Pattern recognition, including face detection Tracking and motion in 2 and 3 dimensions 3D reconstruction from stereo vision Machine learning algorithms Getting machines to see is a challenging but entertaining goal. Whether you want to build simple or sophisticated vision applications, Learning OpenCV is the book you need to get started.

Learning OpenCV 3

Computer Vision in C++ with the OpenCV Library

Author: Adrian Kaehler,Gary Bradski

Publisher: "O'Reilly Media, Inc."

ISBN: 1491938005

Category: Computers

Page: 1024

View: 8156

Get started in the rapidly expanding field of computer vision with this practical guide. Written by Adrian Kaehler and Gary Bradski, creator of the open source OpenCV library, this book provides a thorough introduction for developers, academics, roboticists, and hobbyists. You’ll learn what it takes to build applications that enable computers to "see" and make decisions based on that data. With over 500 functions that span many areas in vision, OpenCV is used for commercial applications such as security, medical imaging, pattern and face recognition, robotics, and factory product inspection. This book gives you a firm grounding in computer vision and OpenCV for building simple or sophisticated vision applications. Hands-on exercises in each chapter help you apply what you’ve learned. This volume covers the entire library, in its modern C++ implementation, including machine learning tools for computer vision. Learn OpenCV data types, array types, and array operations Capture and store still and video images with HighGUI Transform images to stretch, shrink, warp, remap, and repair Explore pattern recognition, including face detection Track objects and motion through the visual field Reconstruct 3D images from stereo vision Discover basic and advanced machine learning techniques in OpenCV

Learning OpenCV 3 Computer Vision with Python - Second Edition

Author: Joe Minichino

Publisher: N.A

ISBN: 9781785283840

Category: Computers

Page: 266

View: 4584

Unleash the power of computer vision with Python using OpenCVAbout This Book• Create impressive applications with OpenCV and Python• Familiarize yourself with advanced machine learning concepts• Harness the power of computer vision with this easy-to-follow guideWho This Book Is ForIntended for novices to the world of OpenCV and computer vision, as well as OpenCV veterans that want to learn about what's new in OpenCV 3, this book is useful as a reference for experts and a training manual for beginners, or for anybody who wants to familiarize themselves with the concepts of object classification and detection in simple and understandable terms. Basic knowledge about Python and programming concepts is required, although the book has an easy learning curve both from a theoretical and coding point of view.What You Will Learn• Install and familiarize yourself with OpenCV 3's Python API• Grasp the basics of image processing and video analysis• Identify and recognize objects in images and videos• Detect and recognize faces using OpenCV• Train and use your own object classifiers• Learn about machine learning concepts in a computer vision context• Work with artificial neural networks using OpenCV• Develop your own computer vision real-life applicationIn DetailOpenCV 3 is a state-of-the-art computer vision library that allows a great variety of image and video processing operations. Some of the more spectacular and futuristic features such as face recognition or object tracking are easily achievable with OpenCV 3. Learning the basic concepts behind computer vision algorithms, models, and OpenCV's API will enable the development of all sorts of real-world applications, including security and surveillance.Starting with basic image processing operations, the book will take you through to advanced computer vision concepts. Computer vision is a rapidly evolving science whose applications in the real world are exploding, so this book will appeal to computer vision novices as well as experts of the subject wanting to learn the brand new OpenCV 3.0.0. You will build a theoretical foundation of image processing and video analysis, and progress to the concepts of classification through machine learning, acquiring the technical know-how that will allow you to create and use object detectors and classifiers, and even track objects in movies or video camera feeds. Finally, the journey will end in the world of artificial neural networks, along with the development of a hand-written digits recognition application.Style and approachThis book is a comprehensive guide to the brand new OpenCV 3 with Python to develop real-life computer vision applications.


Author: Alfred Mertins

Publisher: Springer-Verlag

ISBN: 3663056864

Category: Technology & Engineering

Page: 312

View: 8428

Zu den typischen Aufgabenstellungen der Signalverarbeitung gehören z. B. die Komprimierung von Sprach-, Audio- und Bildsignalen, die Signal- bzw. Prozessanalyse und die Datenübertragung. Die dabei angewandten Methoden sind äußerst vielfältig, und das Verständnis der Algorithmen erfordert zum Teil weitgehende Kenntnisse der Signaltheorie. Ein wesentlicher Aspekt der Signaltheorie besteht darin, Methoden anzugeben, die besondere Einsichten in die Eigenschaften von Signalen bzw. von stochastischen Prozessen erlauben. Beispiele linearer Transformationen sind dabei die Karhunen-Love-, die Kurzzeit-Fourier- und die Wavelet-Transformation. Bei den nichtlinearen Analysemethoden ist die Wigner-Verteilung hervorzuheben. Hinzu kommen die modellgestützten Detektions- und Schätzverfahren. Das vorliegende Buch ermöglicht dem Leser einen systematischen Einstieg in die Signaltheorie. Die Methoden werden dabei anhand zahlreicher Anwendungsbeispiele, die bis hin zu Fragestellungen jüngster Forschungsaktivitäten führen, illustriert. Vorausgesetzt werden Grundkenntnisse der Fourier-Transformation, der Beschreibung linearer Systeme und der Matrizenalgebra.


Author: Axel Pinz

Publisher: Springer-Verlag

ISBN: 3709193583

Category: Computers

Page: 235

View: 5956

Bildverstehen, Bilder und die ihnen zugrundeliegenden Szenen mit den darin vorkommenden Objekten verstehen und beschreiben, das bedeutet aus der Sicht der Informatik: Sehen mit dem Computer - ‘Computer Vision’. Das Buch behandelt neben wichtigen Merkmalen des menschlichen visuellen Systems auch die nötigen Grundlagen aus digitaler Bildverarbeitung und aus künstlicher Intelligenz. Im Zentrum steht die schrittweise Entwicklung eines neuen Systemmodells für Bildverstehen, anhand dessen verschiedene "Abstraktionsebenen" des maschinellen Sehens, wie Segmentation, Gruppierung auf Aufbau einer Szenenbeschreibung besprochen werden. Das Buch bietet außerdem einen Überblick über gegenwärtige Trends in der Forschung sowie eine sehr aktuelle und ausführliche Bibliographie dieses Fachgebietes. Es liegt hiermit erstmalig eine abgeschlossene, systematische Darstellung dieses noch jungen und in dynamischer Entwicklung begriffenen Fachgebietes vor.

OpenCV 3 Computer Vision with Python Cookbook

Leverage the power of OpenCV 3 and Python to build computer vision applications

Author: Aleksei Spizhevoi,Aleksandr Rybnikov

Publisher: Packt Publishing Ltd

ISBN: 1788478754

Category: Computers

Page: 306

View: 4744

Recipe-based approach to tackle the most common problems in Computer Vision by leveraging the functionality of OpenCV using Python APIs Key Features ●Build computer vision applications with OpenCV functionality via Python API ●Get to grips with image processing, multiple view geometry, and machine learning ●Learn to use deep learning models for image classification, object detection, and face recognition Book Description OpenCV 3 is a native cross-platform library for computer vision, machine learning, and image processing. OpenCV's convenient high-level APIs hide very powerful internals designed for computational efficiency that can take advantage of multicore and GPU processing. This book will help you tackle increasingly challenging computer vision problems by providing a number of recipes that you can use to improve your applications. In this book, you will learn how to process an image by manipulating pixels and analyze an image using histograms. Then, we'll show you how to apply image filters to enhance image content and exploit the image geometry in order to relay different views of a pictured scene. We’ll explore techniques to achieve camera calibration and perform a multiple-view analysis. Later, you’ll work on reconstructing a 3D scene from images, converting low-level pixel information to high-level concepts for applications such as object detection and recognition. You’ll also discover how to process video from files or cameras and how to detect and track moving objects. Finally, you'll get acquainted with recent approaches in deep learning and neural networks. By the end of the book, you’ll be able to apply your skills in OpenCV to create computer vision applications in various domains. What you will learn ●Get familiar with low-level image processing methods ●See the common linear algebra tools needed in computer vision ●Work with different camera models and epipolar geometry ●Find out how to detect interesting points in images and compare them ●Binarize images and mask out regions of interest ●Detect objects and track them in videos Who this book is for This book is for developers who have a basic knowledge of Python. If you are aware of the basics of OpenCV and are ready to build computer vision systems that are smarter, faster, more complex, and more practical than the competition, then this book is for you.

Mastering OpenCV with Practical Computer Vision Projects

Author: Daniel Lélis Baggio

Publisher: Packt Publishing Ltd

ISBN: 1849517835

Category: Computers

Page: 340

View: 2364

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. 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.

Digitale Bildverarbeitung

Eine Einführung mit Java und ImageJ

Author: Wilhelm Burger,Mark James Burge

Publisher: Springer-Verlag

ISBN: 354027653X

Category: Computers

Page: 532

View: 8457

Die Autoren geben eine fundierte Einführung in die wichtigsten Methoden der digitalen Bildverarbeitung. Dabei steht die praktische Anwendbarkeit im Vordergrund, formale und mathematische Aspekte sind auf das Wesentliche reduziert, ohne dabei auf eine präzise und konsistente Vorgehensweise zu verzichten. Der Text eignet sich für technisch orientierte Studiengänge ab dem 3.Semester und basiert auf der mehrjährigen Lehrerfahrung der Autoren zu diesem Thema. Der Einsatz in der Lehre wird durch zahlreiche praktische Übungsaufgaben unterstützt. Das Buch eignet sich auch als detaillierte Referenz für Praktiker und Anwender gängiger Verfahren der digitalen Bildverarbeitung, z.B. in der Medizin, der Materialprüfung, der Robotik oder der Medientechnik. Softwareseitig basiert das Buch auf der in Java implementierten und frei verfügbaren Bildverarbeitungsumgebung ImageJ.

OpenCV with Python Blueprints

Author: Michael Beyeler

Publisher: Packt Publishing Ltd

ISBN: 1785289861

Category: Computers

Page: 230

View: 5535

Design and develop advanced computer vision projects using OpenCV with Python About This Book Program advanced computer vision applications in Python using different features of the OpenCV library Practical end-to-end project covering an important computer vision problem All projects in the book include a step-by-step guide to create computer vision applications Who This Book Is For This book is for intermediate users of OpenCV who aim to master their skills by developing advanced practical applications. Readers are expected to be familiar with OpenCV's concepts and Python libraries. Basic knowledge of Python programming is expected and assumed. What You Will Learn Generate real-time visual effects using different filters and image manipulation techniques such as dodging and burning Recognize hand gestures in real time and perform hand-shape analysis based on the output of a Microsoft Kinect sensor Learn feature extraction and feature matching for tracking arbitrary objects of interest Reconstruct a 3D real-world scene from 2D camera motion and common camera reprojection techniques Track visually salient objects by searching for and focusing on important regions of an image Detect faces using a cascade classifier and recognize emotional expressions in human faces using multi-layer peceptrons (MLPs) Recognize street signs using a multi-class adaptation of support vector machines (SVMs) Strengthen your OpenCV2 skills and learn how to use new OpenCV3 features In Detail OpenCV is a native cross platform C++ Library for computer vision, machine learning, and image processing. It is increasingly being adopted in Python for development. OpenCV has C++/C, Python, and Java interfaces with support for Windows, Linux, Mac, iOS, and Android. Developers using OpenCV build applications to process visual data; this can include live streaming data from a device like a camera, such as photographs or videos. OpenCV offers extensive libraries with over 500 functions This book demonstrates how to develop a series of intermediate to advanced projects using OpenCV and Python, rather than teaching the core concepts of OpenCV in theoretical lessons. Instead, the working projects developed in this book teach the reader how to apply their theoretical knowledge to topics such as image manipulation, augmented reality, object tracking, 3D scene reconstruction, statistical learning, and object categorization. By the end of this book, readers will be OpenCV experts whose newly gained experience allows them to develop their own advanced computer vision applications. Style and approach This book covers independent hands-on projects that teach important computer vision concepts like image processing and machine learning for OpenCV with multiple examples.

Praxiseinstieg Deep Learning

Mit Python, Caffe, TensorFlow und Spark eigene Deep-Learning-Anwendungen erstellen

Author: Ramon Wartala

Publisher: O'Reilly

ISBN: 3960101570

Category: Computers

Page: 226

View: 6643

Deep Learning ist ein Teilbereich des Machine Learning und basiert auf künstlichen neuronalen Netzen. Dieser praktische Leitfaden bietet einen schnellen Einstieg in die Schlüsseltechnologie und erschließt Grundlagen und Arbeitsweisen von Deep Learning. Anhand Python-basierter Beispielanwendungen wird der Umgang mit den Frameworks Caffe/Caffe2 und TensorFlow gezeigt. Einfache, alltagstaugliche Beispiele laden zum Nachprogrammieren ein. Darüber hinaus erfahren Sie, warum moderne Grafikkarten, Big Data und Cloud Computing beim Deep Learning so wichtig sind. Wenn Sie bereits mit Python, NumPy und matplotlib arbeiten, ermöglicht Ihnen dieses Buch, praktische Erfahrungen mit Deep-Learning-Anwendungen zu machen. Deep Learning – die Hintergründe - Lernmethoden, die Deep Learning zugrunde liegen - Aktuelle Anwendungsfelder wie maschinelle Übersetzungen, Sprach- und Bilderkennung bei Google, Facebook, IBM oder Amazon Der Werkzeugkasten mit Docker - Der Docker-Container zum Buch: Alle nötigen Tools und Programme sind bereits installiert, damit Sie die Beispiele des Buchs und eigene Deep-Learning-Anwendungen leicht ausführen können. - Die Arbeitsumgebung kennenlernen: Jupyter Notebook, Beispieldatensätze, Web Scraping Der Praxiseinstieg - Einführung in Caffe/Caffe2 und TensorFlow - Deep-Learning-Anwendungen nachprogrammieren: Handschrifterkennung, Bilderkennung und -klassifizierung, Deep Dreaming - Lösungen für Big-Data-Szenarien: verteilte Anwendungen, Spark, Cloud-Systeme - Modelle in produktive Systeme überführen

Moderne C++ Programmierung

Klassen, Templates, Design Patterns

Author: Ralf Schneeweiß

Publisher: Springer Science & Business Media

ISBN: 3540222812

Category: Computers

Page: 413

View: 5185

C++ ist eine objektorientierte Programmiersprache, neben der Objektorientierung gewinnt aber die generische Programmierung mittels parametrisierbaren Klassen oder Templates zunehmend an Bedeutung, da diese Methode gro??e Vorteile gegen??ber der objektorientierten aufweist, wenn es darum geht, wiederverwendbaren Code zu schreiben. Dieses Buch liefert eine fundierte Darstellung des modernen Programmdesigns in C++ gem???? dem ANSI/ISO-Standard. Der Autor gibt dabei zun??chst ein kompaktes Repetitorium der grundlegenden Sprachelemente von C++ und erl??utert dann detailliert die klassische objektorientierte Modellierung sowie die modernen Techniken der generischen Programmierung mittels Templates und Design Patterns.

Fine Art Printing für Fotografen

Hochwertige Fotodrucke mit Inkjet-Druckern

Author: Jürgen Gulbins,Uwe Steinmüller

Publisher: dpunkt.verlag

ISBN: 3960884648

Category: Photography

Page: 514

View: 6069

Digitale Kameras liefern bereits heute Bilddaten, die eine großformatige Ausgabe in höchster Qualität erlauben. Aber auch die Drucktechnik hat mit der Entwicklung der Bildsensoren Schritt gehalten: Inkjet-Systeme mit höchster Präzision und Auflösung, Tinten, die feinste Tonwertabstufungen darstellen können und langfristige Farbstabilität bieten – und das alles zu Preisen, die auch für den anspruchsvollen Amateur erschwinglich sind.Fine Art Printing ist kein Buch über Drucktechnik, sondern ein Buch von Fotografen für Fotografen. Es zeigt Ihnen, wie man einen geeigneten Drucker auswählt, wie man hochwertige Fotodrucke mit guten Inkjet-Druckern herstellt und wie man den fotografischen Workflow zur optimalen Vorbereitung der Bilddaten anlegt.Das Buch erläutert, wie man diesen letzten Arbeitsschritt in der "digitalen Dunkelkammer" meistert, um perfekte, ausstellungsreife und langlebige Drucke zu erzeugen. Die nötigen Grundlagen des Farbmanagements und der Profilerstellung werden ebenso behandelt wie die Auswahl geeigneter Drucker, Papiere und Tinten sowie das Optimieren der Fotos für den Druck. Auch die Nachbehandlung der gedruckten Bilder und Möglichkeiten der Bildpräsentation werden angesprochen.Die 5. Auflage berücksichtigt neben Photoshop 5,6 und CC neue Filter, aktuelle RIPs sowie neue Druckertypen und Papierarten. Es deckt auch ausführlich das Drucken auf Lightroom (inklusive Lightroom Classic) ab. Es ist damit das einzige deutschsprachige Buch in dieser Tiefe und Vollständigkeit.

Matlab für Dummies

Author: Jim Sizemore

Publisher: John Wiley & Sons

ISBN: 352780871X

Category: Computers

Page: 416

View: 3314

Ob Naturwissenschaftler, Mathematiker, Ingenieur oder Datenwissenschaftler - mit MATLAB haben Sie ein mächtiges Tool in der Hand, das Ihnen die Arbeit mit Ihren Daten erleichtert. Aber wie das mit manch mächtigen Dingen so ist - es ist auch ganz schön kompliziert. Aber keine Sorge! Jim Sizemore führt Sie in diesem Buch Schritt für Schritt an das Programm heran - von der Installation und den ersten Skripten bis hin zu aufwändigen Berechnungen, der Erstellung von Grafiken und effizienter Fehlerbehebung. Sie werden begeistert sein, was Sie mit MATLAB alles anstellen können.

Learning OpenCV 3 Application Development

Author: Samyak Datta

Publisher: Packt Publishing Ltd

ISBN: 1784399132

Category: Computers

Page: 310

View: 5087

Build, create, and deploy your own computer vision applications with the power of OpenCV About This Book This book provides hands-on examples that cover the major features that are part of any important Computer Vision application It explores important algorithms that allow you to recognize faces, identify objects, extract features from images, help your system make meaningful predictions from visual data, and much more All the code examples in the book are based on OpenCV 3.1 – the latest version Who This Book Is For This is the perfect book for anyone who wants to dive into the exciting world of image processing and computer vision. This book is aimed at programmers with a working knowledge of C++. Prior knowledge of OpenCV or Computer Vision/Machine Learning is not required. What You Will Learn Explore the steps involved in building a typical computer vision/machine learning application Understand the relevance of OpenCV at every stage of building an application Harness the vast amount of information that lies hidden in images into the apps you build Incorporate visual information in your apps to create more appealing software Get acquainted with how large-scale and popular image editing apps such as Instagram work behind the scenes by getting a glimpse of how the image filters in apps can be recreated using simple operations in OpenCV Appreciate how difficult it is for a computer program to perform tasks that are trivial for human beings Get to know how to develop applications that perform face detection, gender detection from facial images, and handwritten character (digit) recognition In Detail Computer vision and machine learning concepts are frequently used in practical computer vision based projects. If you're a novice, this book provides the steps to build and deploy an end-to-end application in the domain of computer vision using OpenCV/C++. At the outset, we explain how to install OpenCV and demonstrate how to run some simple programs. You will start with images (the building blocks of image processing applications), and see how they are stored and processed by OpenCV. You'll get comfortable with OpenCV-specific jargon (Mat Point, Scalar, and more), and get to know how to traverse images and perform basic pixel-wise operations. Building upon this, we introduce slightly more advanced image processing concepts such as filtering, thresholding, and edge detection. In the latter parts, the book touches upon more complex and ubiquitous concepts such as face detection (using Haar cascade classifiers), interest point detection algorithms, and feature descriptors. You will now begin to appreciate the true power of the library in how it reduces mathematically non-trivial algorithms to a single line of code! The concluding sections touch upon OpenCV's Machine Learning module. You will witness not only how OpenCV helps you pre-process and extract features from images that are relevant to the problems you are trying to solve, but also how to use Machine Learning algorithms that work on these features to make intelligent predictions from visual data! Style and approach This book takes a very hands-on approach to developing an end-to-end application with OpenCV. To avoid being too theoretical, the description of concepts are accompanied simultaneously by the development of applications. Throughout the course of the book, the projects and practical, real-life examples are explained and developed step by step in sync with the theory.

Bildverarbeitung und Objekterkennung

Computer Vision in Industrie und Medizin

Author: Herbert Süße,Erik Rodner

Publisher: Springer-Verlag

ISBN: 3834826065

Category: Technology & Engineering

Page: 666

View: 5217

Dieses Buch erläutert, wie Informationen automatisch aus Bildern extrahiert werden. Mit dieser sehr aktuellen Frage beschäftigt sich das Buch mittels eines Streifzuges durch die Bildverarbeitung. Dabei werden sowohl die mathematischen Grundlagen vieler Verfahren der 2D- und 3D-Bildanalyse vermittelt als auch deren Nutzen anhand von Problemstellungen aus vielen Bereichen (Medizin, industrielle Bildverarbeitung, Objekterkennung) erläutert. Das Buch eignet sich sowohl für Studierende der Informatik, Mathematik und Ingenieurwissenschaften als auch für Anwender aus der industriellen Bildverarbeitung.

OpenCV: Computer Vision Projects with Python

Author: Joseph Howse,Prateek Joshi,Michael Beyeler

Publisher: Packt Publishing Ltd

ISBN: 1787123847

Category: Computers

Page: 558

View: 2157

Get savvy with OpenCV and actualize cool computer vision applications About This Book Use OpenCV's Python bindings to capture video, manipulate images, and track objects Learn about the different functions of OpenCV and their actual implementations. Develop a series of intermediate to advanced projects using OpenCV and Python Who This Book Is For This learning path is for someone who has a working knowledge of Python and wants to try out OpenCV. This Learning Path will take you from a beginner to an expert in computer vision applications using OpenCV. OpenCV's application are humongous and this Learning Path is the best resource to get yourself acquainted thoroughly with OpenCV. What You Will Learn Install OpenCV and related software such as Python, NumPy, SciPy, OpenNI, and SensorKinect - all on Windows, Mac or Ubuntu Apply "curves" and other color transformations to simulate the look of old photos, movies, or video games Apply geometric transformations to images, perform image filtering, and convert an image into a cartoon-like image Recognize hand gestures in real time and perform hand-shape analysis based on the output of a Microsoft Kinect sensor Reconstruct a 3D real-world scene from 2D camera motion and common camera reprojection techniques Detect and recognize street signs using a cascade classifier and support vector machines (SVMs) Identify emotional expressions in human faces using convolutional neural networks (CNNs) and SVMs Strengthen your OpenCV2 skills and learn how to use new OpenCV3 features In Detail OpenCV is a state-of-art computer vision library that allows a great variety of image and video processing operations. OpenCV for Python enables us to run computer vision algorithms in real time. This learning path proposes to teach the following topics. First, we will learn how to get started with OpenCV and OpenCV3's Python API, and develop a computer vision application that tracks body parts. Then, we will build amazing intermediate-level computer vision applications such as making an object disappear from an image, identifying different shapes, reconstructing a 3D map from images , and building an augmented reality application, Finally, we'll move to more advanced projects such as hand gesture recognition, tracking visually salient objects, as well as recognizing traffic signs and emotions on faces using support vector machines and multi-layer perceptrons respectively. This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products: OpenCV Computer Vision with Python by Joseph Howse OpenCV with Python By Example by Prateek Joshi OpenCV with Python Blueprints by Michael Beyeler Style and approach This course aims to create a smooth learning path that will teach you how to get started with will learn how to get started with OpenCV and OpenCV 3's Python API, and develop superb computer vision applications. Through this comprehensive course, you'll learn to create computer vision applications from scratch to finish and more!.

Kinect Open Source Programming Secrets : Hacking the Kinect with OpenNI, NITE, and Java

Hacking the Kinect with OpenNI, NITE, and Java

Author: Andrew Davison

Publisher: McGraw Hill Professional

ISBN: 0071783172

Category: Computers

Page: 336

View: 6314

Program Kinect to do awesome things using a unique selection of open source software! The Kinect motion-sensing device for the Xbox 360 and Windows became the world's fastest-selling consumer electronics device when it was released (8 million sold in its first 60 days) and won prestigious awards, such as "Gaming Gadget of the Year." Now Kinect Open Source Programming Secrets lets YOU harness the Kinect's powerful sensing capabilities for gaming, science, multimedia projects, and a mind-boggling array of other applications on platforms running Windows, Mac OS, and Linux. Dr. Andrew Davison, a user interface programming expert, delivers exclusive coverage of how to program the Kinect sensor with the Java wrappers for OpenNI and NITE, which are APIs created by PrimeSense, the primary developers of the Kinect's technology. Beginning with the basics--depth imaging, 3D point clouds, skeletal tracking, and hand gestures--the book examines many other topics, including Kinect gaming, FAAST-style gestures that aren't part of standard NITE, motion detection using OpenCV, how to create gesture-driven GUIs, accessing the Kinect's motor and accelerometer, and other tips and techniques. Inside: Free open source APIs to let you develop amazing Kinect hacks for commercial or private use Full coverage of depth detection, camera, and infrared imaging point clouds; Kinect gaming; 3D programming; gesture-based GUIs, and more Online access to detailed code examples on the author's web site, plus bonus chapters on speech recognition, beamforming, and other exotica From the Author Why Buy This Book? I can suggest four reasons for buying this book: It offers a unique choice of Kinect programming tools. It explains the official Java wrappers for those tools. It covers topics not found elsewhere. It provides depth, but with brevity. Unique Programming Tools This is the only book on programming the Kinect using the OpenNI library, NITE, and Java (as of April 2012, when this book went to press). Official Java Wrappers This is the only book that explains the official Java wrappers for OpenNI and NITE (again, as of April 2012). By “official,” I mean that these bindings were developed by PrimeSense. Obvious advantages of Java include object-orientation, cross-platform support, availability for free, and many people (including you, probably) knowing how to program with it. Most important, programming in Java gives you access to a massive number of libraries—for graphics, networking, and beyond—that can be linked to the Kinect without much effort. For example, I’ll demonstrate how to use the Java 3D graphics library and the Java binding for the OpenCV computer vision package. The main drawback of using the PrimeSense Java wrappers is their lack of documentation. As I explain in Chapter 1, I had to decompile the libraries’ JAR files, and work out the correspondences between the Java source and the somewhat better documented C++ OpenNI/NITE APIs. (This is why including Secrets in the book’s title isn’t too excessive.) A Wide Range of Topics This book covers programming topics not found elsewhere. I start off with the basics, of course, with chapters on depth, infrared, and RGB imaging, point clouds, skeletal user tracking, hand tracking, and gesture support. Moving beyond that, I cover several novel and unusual features, including the following: Kinect gaming based around a version of the classic Breakout video game. Controls for the Kinect motor, LED, and accelerometer, which are not part of the standard OpenNI API. In fact, their absence is often held up as a serious drawback of the API. It’s actually quite easy to add these capabilities using a custom-built USB driver. 3D graphics programming in the point cloud and skeletal tracking examples, using Java 3D. A computer vision example that demonstrates how to link the Kinect to the popular (and powerful) OpenCV library. The creation of new body gestures (inspired by the FAAST system), which are not part of the limited NITE repertoire. A new type of GUI component controlled by hand gesturing, illustrated with three examples: a button, dial, and slider. These components are controlled without the help of mouse or keyboard. Depth with Brevity This book describes a lot of complicated code but, unlike some rather hefty programming tomes, you won’t find all the code tediously printed on these pages. Instead, you can download it from the book’s website. In addition, I’ve been adding supplementary chapters to the website, including ones discussing speech recognition and the Kinect microphone array.