logo资料库

一个介绍opencv基础的ppt.pdf

第1页 / 共67页
第2页 / 共67页
第3页 / 共67页
第4页 / 共67页
第5页 / 共67页
第6页 / 共67页
第7页 / 共67页
第8页 / 共67页
资料共67页,剩余部分请下载后查看
Introduction to OpenCV
Agenda
General Information
What is OpenCV?
Why OpenCV?
The Project History
OpenCV Community
Supported Platforms
Library Design
Example: Gesture Recognition
Library Architecture
Getting Started with OpenCV
The First OpenCV Program
How to build and run the program?
The Program Analysis Line-by-Line
Modules Descriptions: HighGUI
Functionality Overview
Windows
Image I/O
Waiting for keys…
Trackbars & Mouse Callbacks
Video I/O API
Video I/O Sample
Modules Descriptions: CXCORE
Functionality Overview
Matrix (CvMat)
Image (IplImage)
Basic operations on Matrixes/Images
Arithmetical and Logical Operations
Linear Algebra, Math Functions
Dynamic Structures (when 2d array is not enough)
Memory Storages
Sequences
Sets and Sparse Matrices
Drawing Operations
XML I/O: save your data
So what about config file?
Modules Descriptions: CV and CVAUX
Functionality Overview
Basic Image Processing: Gaussian Pyramids
Basic Image Processing: Morphology
Basic Image Processing: Some other important functions
Feature Extraction: Canny Edge Detector
Feature Extraction: Hough Transform
Advanced Image Processing: Extended Distance Transform and Watershed
Advanced Image Processing: Inpainting
Contours
Motion Analysis and Object Tracking
Camera Calibration
Face/Object Detection
Video Surveillance
Modules Descrpitions: MLL
Functionality Overview
MLL Usage: SVM
Interaction with IPP
OpenCV and IPP
Performance Boost with IPP
OpenCV + IPP recipe
Using OpenCV+IPP at Expert Level
How does it works?
OpenCV + Python
Python Interface
Some Usage Examples
1. Improving IPP MPEG4 Encoder
2. Extracting Text from Video
Summary
Thank you!
Introduction to OpenCV Vadim Pisarevsky Senior Software Engineer Intel Corporation, Software and Solutions Group
Agenda General Information Getting Started with OpenCV Modules Description Interaction with Intel IPP Python Interface Some Usage Examples Summary 2/67
General Information 3/67
What is OpenCV? OpenCV stands for Open Source Computer Vision Library Includes over 500 functions implementing computer vision, image processing and general-purpose numeric algorithms. Portable and very efficient (implemented in C/C++) Has BSD-like license (that is, absolutely free for academic and commercial use) Available at http://sourceforge.net/projects/opencvlibrary 4/67
Why OpenCV? Computer Vision Market is large and continues to grow There is no standard API (like OpenGL and DirectX in graphics, or OpenSSL in cryptography), most of CV software is of 3 kinds: – Research code (slow, unstable, independent/incompatible data types for every library/toolbox) – Very expensive commercial toolkits (like Halcon, MATLAB+Simulink, …) – Specialized solutions bundled with hardware (Video surveillance, Manufacturing control systems, Medical equipment …) Standard library would simplify development of new applications and solutions much easier. Special optimization for Intel Architectures: – Creates new usage models by achieving real-time performance for quite “heavy” algorithms (like face detection) – Makes Intel platforms attractive for CV developers 5/67
The Project History “CVL” project was started; the main goals/features: • Human-Computer interface is a main target • Real-Time Computer Vision Library for using by UI Developers, Videoconferences, Games • Highly optimized for Intel Arch. First Open Source Release: OpenCV alpha 3 at CVPR’00 OpenCV beta 1 with Linux support: CVPR’01 OpenCV 1.0 with MacOSX support 1999/01 2000/06 2000/12 2006/10 Continuous development and various research projects 6/67
OpenCV Community The library is actively used by a large number of companies (such as Intel, IBM, Microsoft, SONY, Siemens, Google,…) and research centers (Stanford, MIT, CMU, Cambridge, INRIA etc.) >14000 members of the forum OpenCV@yahoogroups.com, with average daily traffic ~10-20 messages. Community contributes to the project: bug reports, patches, new features (video acquisition, 3d tracking, textures, Python interface) 7/67
Supported Platforms IA32 (x86) EM64T (x64) IA64 (Itanium) Other (PPC, Sparc) Windows (w. IPP; VS98,VS2005(Op enMP),ICC,GCC, BCC) (w. IPP; GCC, ICC) Linux (w. IPP, VS98+PSDK, VS2005(OpenMP)) Partial Support N/A (w. IPP; GCC, ICC) (GCC, ICC) MacOSX (w. IPP, GCC, native APIs) ? (not tested) N/A (iMac G5, GCC, native APIs) Others (BSD, Solaris…) 8/67 Reported to build on UltraSparc, Solaris
分享到:
收藏