1.

Record Nr.

UNINA9910463232303321

Autore

Lelis Baggio Daniel

Titolo

Mastering OpenCV with practical computer vision projects [[electronic resource] /] / Daniel Lelis Baggio ... [et al.]

Pubbl/distr/stampa

Birmingham, UK, : Packt Pub., 2012

ISBN

1-62198-906-2

1-299-14864-6

1-84951-783-5

Edizione

[1st edition]

Descrizione fisica

1 online resource (340 p.)

Disciplina

006.3

006.37

Soggetti

C++ (Computer program language)

Computer vision

Electronic books.

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Description based upon print version of record.

Nota di bibliografia

Includes bibliographical references and index.

Nota di contenuto

Cover; Copyright; Credits; About the Authors; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1:Cartoonifier and Skin Changer for Android; Accessing the webcam; Main camera processing loop for a desktop app; Generating a black-and-white sketch; Generating a color painting and a cartoon; Generating an ""evil"" mode using edge filters; Generating an ""alien"" mode using skin detection; Skin-detection algorithm; Showing the user where to put their face; Implementation of the skin-color changer; Porting from desktop to Android

Setting up an Android project that uses OpenCVColor formats used for image processing on Android; Input color format from the camera; Output color format for display; Adding the cartoonifier code to the Android NDK app; Reviewing the Android app; Cartoonifying the image when the user taps the screen; Saving the image to a file and to the Android picture gallery; Showing an Android notification message about a saved image; Changing cartoon modes through the Android menu bar; Reducing the random pepper noise from the sketch image; Showing the FPS of the app; Using a different camera resolution



Customizing the appSummary; Chapter 2:Marker-based Augmented Reality on iPhone or iPad; Creating an iOS project that uses OpenCV; Adding OpenCV framework; Including OpenCV headers; Application architecture; Marker detection; Marker identification; Grayscale conversion; Image binarization; Contours detection; Candidates search; Marker code recognition; Reading marker code; Marker location refinement; Placing a marker in 3D; Camera calibration; Marker pose estimation; Rendering the 3D virtual object; Creating the OpenGL rendering layer; Rendering an AR scene; Summary; References

Chapter 3:Marker-less Augmented RealityMarker-based versus marker-less AR; Using feature descriptors to find an arbitrary image on video; Feature extraction; Definition of a pattern object; Matching of feature points; PatternDetector.cpp; Outlier removal; Cross-match filter; Ratio test; Homography estimation; Homography refinement; Putting it all together; Pattern pose estimation; PatternDetector.cpp; Obtaining the camera-intrinsic matrix; Pattern.cpp; Application infrastructure; ARPipeline.hpp; ARPipeline.cpp; Enabling support for 3D visualization in OpenCV

Creating OpenGL windows using OpenCVVideo capture using OpenCV; Rendering augmented reality; ARDrawingContext.hpp; ARDrawingContext.cpp; Demonstration; main.cpp; Summary; References; Chapter 4:Exploring Structure from Motion Using OpenCV; Structure from Motion concepts; Estimating the camera motion from a pair of images; Point matching using rich feature descriptors; Point matching using optical flow; Finding camera matrices; Reconstructing the scene; Reconstruction from many views; Refinement of the reconstruction; Visualizing 3D point clouds with PCL; Using the example code; Summary

References

Sommario/riassunto

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.