opencv 3 computer vision application robert laganiere7734

573 185 0
opencv 3 computer vision application robert laganiere7734

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

OpenCV Computer Vision Application Programming Cookbook - Third Edition Table of Contents OpenCV Computer Vision Application Programming Cookbook Third Edition Credits About the Author About the Reviewer www.PacktPub.com Why subscribe? Customer Feedback Preface What this book covers What you need for this book Who this book is for Sections Getting ready How to it… How it works… There's more… See also Conventions Reader feedback Customer support Downloading the example code Downloading the color images of this book Errata Piracy Questions Playing with Images Introduction Installing the OpenCV library Getting ready How to it How it works There's more The Visualization Toolkit and the cv::viz module The OpenCV developer site See also Loading, displaying, and saving images Getting ready How to it How it works There's more Clicking on images Drawing on images See also Exploring the cv::Mat data structure How to it How it works There's more The input and output arrays Manipulating small matrices See also Defining regions of interest Getting ready How to it How it works There's more Using image masks See also Manipulating Pixels Introduction Accessing pixel values Getting ready How to it How it works There's more The cv::Mat_ template class See also Scanning an image with pointers Getting ready How to it How it works There's more Other color reduction formulas Having input and output arguments Efficient scanning of continuous images Low-level pointer arithmetic See also Scanning an image with iterators Getting ready How to it How it works There's more See also Writing efficient image-scanning loops How to it How it works There's more See also Scanning an image with neighbor access Getting ready How to it How it works There's more See also Performing simple image arithmetic Getting ready How to it How it works There's more Overloaded image operators Splitting the image channels Remapping an image How to it How it works See also Processing the Colors of an Image Introduction Comparing colors using the Strategy design pattern How to it… How it works… There's more… Computing the distance between two color vectors Using OpenCV functions The floodFill function Functor or function object The OpenCV base class for algorithms See also Segmenting an image with the GrabCut algorithm How to it… How it works… See also Converting color representations How to it… How it works… See also Representing colors with hue, saturation, and brightness How to it How it works… There's more… Using colors for detection - skin tone detection See also Counting the Pixels with Histograms Introduction Computing an image histogram Getting ready How to it How it works There's more Computing histograms of color images See also Applying look-up tables to modify the image's appearance How to it How it works There's more Stretching a histogram to improve the image contrast Applying a look-up table to color images See also Equalizing the image histogram How to it How it works Backprojecting a histogram to detect specific image content How to it How it works There's more Backprojecting color histograms See also Using the mean shift algorithm to find an object How to it How it works See also Retrieving similar images using the histogram comparison How to it How it works See also Counting pixels with integral images How to it How it works There's more Adaptive thresholding Visual tracking using histograms See also Transforming Images with Morphological Operations Introduction Eroding and dilating images using morphological filters Getting ready How to it How it works There's more See also Opening and closing images using morphological filters How to it How it works See also Applying morphological operators on gray-level images How to it How it works See also Segmenting images using watersheds How to it How it works There's more See also Extracting distinctive regions using MSER How to it How it works See also Filtering the Images Introduction Filtering images using low-pass filters How to it How it works See also Downsampling images with filters How to it How it works There's more Interpolating pixel values See also Filtering images using a median filter How to it How it works Applying directional filters to detect edges How to it How it works There's more Gradient operators Gaussian derivatives See also Computing the Laplacian of an image How to it How it works There's more Enhancing the contrast of an image using the Laplacian Difference of Gaussians See also Extracting Lines, Contours, and Components Introduction Detecting image contours with the Canny operator How to it How it works See also Detecting lines in images with the Hough transform Getting ready How to it How it works There's more Detecting circles See also Fitting a line to a set of points How to it How it works There's more Extracting connected components How to it How it works There's more Computing components' shape descriptors How to it How it works There's more Quadrilateral detection Detecting Interest Points Introduction Detecting corners in an image How to it How it works There's more Good features to track See also Detecting features quickly How to it How it works There's more See also Detecting scale-invariant features How to it How it works There's more The SIFT feature-detection algorithm See also Detecting FAST features at multiple scales How to it How it works There's more The ORB feature-detection algorithm See also Describing and Matching Interest Points Introduction Matching local templates How to it How it works There's more Template matching See also millions of parameters to be optimized (hence the name deep networks) Second, the large amount of data available today makes their training possible In order to perform well, deep networks, indeed, required thousands, if not millions, of annotated samples (this is required because of the very large number of parameters that need to be optimized) The most popular deep networks are the Convolutional Neural Networks (CNN) As the name suggests, they are based on convolution operations (see Chapter , Filtering the Images) The parameters to learn, in this case, are therefore the values inside the kernel of all filters that compose the network These filters are organized into layers, in which the early layers extract the fundamental shapes such as lines and corners while the higher layers progressively detect more complex patterns (such as, for example, the presence of eyes, mouth, hair, in a human detector) OpenCV3 has a Deep Neural Network module, but this one is mainly for importing deep networks trained using other tools such as TensorFlow, Caffe, or Torch When building your future computer vision applications, you will certainly have to have a look at the deep learning theory and its related tools See also The Describing and matching local intensity patterns recipe in Chapter , Describing and Matching Interest Points, described the SIFT descriptor which is similar to the HOG descriptor The article Histograms of Oriented Gradients for Human Detection by N Dalal and B Triggs in Computer Vision and Pattern Recognition conference, 2005 is the classical paper that introduces histograms of oriented gradients for people detection The article Deep Learning by Y LeCun, Y Bengio and G Hinton in Nature, no 521, 2015, is a good starting point for exploring the world of deep learning Table of Contents OpenCV Computer Vision Application Programming Cookbook Third Edition Credits About the Author About the Reviewer www.PacktPub.com Why subscribe? Customer Feedback Preface What this book covers What you need for this book Who this book is for Sections Getting ready How to it… How it works… There's more… See also Conventions Reader feedback Customer support Downloading the example code Downloading the color images of this book Errata Piracy Questions Playing with Images Introduction Installing the OpenCV library Getting ready 16 18 19 20 21 21 22 23 24 26 27 28 28 28 28 28 28 29 30 31 31 32 32 32 33 34 34 35 35 How to it How it works There's more The Visualization Toolkit and the cv::viz module The OpenCV developer site See also Loading, displaying, and saving images Getting ready How to it How it works There's more Clicking on images Drawing on images See also Exploring the cv::Mat data structure How to it How it works There's more The input and output arrays Manipulating small matrices See also Defining regions of interest Getting ready How to it How it works There's more Using image masks See also Manipulating Pixels Introduction Accessing pixel values Getting ready 35 40 41 41 42 42 43 43 43 46 48 48 50 51 52 52 54 58 58 59 59 61 61 61 62 63 63 64 66 66 68 68 How to it 68 How it works There's more The cv::Mat_ template class See also Scanning an image with pointers Getting ready How to it How it works There's more Other color reduction formulas Having input and output arguments Efficient scanning of continuous images Low-level pointer arithmetic See also Scanning an image with iterators Getting ready How to it How it works There's more See also Writing efficient image-scanning loops How to it How it works There's more See also Scanning an image with neighbor access Getting ready How to it How it works There's more See also 70 71 71 72 73 73 74 75 76 77 77 80 81 82 83 83 83 84 86 86 87 87 88 90 90 92 92 92 94 95 97 Performing simple image arithmetic Getting ready How to it How it works There's more Overloaded image operators Splitting the image channels Remapping an image How to it How it works See also Processing the Colors of an Image Introduction Comparing colors using the Strategy design pattern How to it… How it works… There's more… Computing the distance between two color vectors Using OpenCV functions The floodFill function Functor or function object The OpenCV base class for algorithms See also Segmenting an image with the GrabCut algorithm How to it… How it works… See also Converting color representations How to it… How it works… See also 98 98 98 99 100 100 101 103 103 104 106 107 107 108 108 110 115 115 116 118 119 120 121 122 122 125 126 127 127 129 130 Representing colors with hue, saturation, and brightness How to it 132 132 How it works… There's more… Using colors for detection - skin tone detection See also Counting the Pixels with Histograms Introduction Computing an image histogram Getting ready How to it How it works There's more Computing histograms of color images See also Applying look-up tables to modify the image's appearance How to it How it works There's more Stretching a histogram to improve the image contrast Applying a look-up table to color images See also Equalizing the image histogram How to it How it works Backprojecting a histogram to detect specific image content How to it How it works There's more Backprojecting color histograms See also 135 139 139 142 144 144 145 145 145 150 152 152 154 155 155 155 156 157 159 160 161 161 163 164 164 167 167 168 171 Using the mean shift algorithm to find an object How to it How it works 173 173 176 See also Retrieving similar images using the histogram comparison How to it How it works See also Counting pixels with integral images How to it How it works There's more Adaptive thresholding Visual tracking using histograms See also Transforming Images with Morphological Operations Introduction Eroding and dilating images using morphological filters Getting ready How to it How it works There's more See also Opening and closing images using morphological filters How to it How it works See also Applying morphological operators on gray-level images How to it How it works See also 177 179 179 181 182 183 183 185 187 187 191 196 197 197 198 198 199 200 203 203 204 204 206 207 208 208 210 211 Segmenting images using watersheds How to it How it works There's more 213 213 218 220 See also Extracting distinctive regions using MSER How to it How it works See also Filtering the Images Introduction Filtering images using low-pass filters How to it How it works See also Downsampling images with filters How to it How it works There's more Interpolating pixel values See also Filtering images using a median filter How to it How it works Applying directional filters to detect edges How to it How it works There's more Gradient operators Gaussian derivatives See also 222 223 223 226 229 231 231 233 233 235 239 240 240 242 245 245 247 248 248 249 251 251 255 259 259 263 264 Computing the Laplacian of an image How to it How it works There's more Enhancing the contrast of an image using the Laplacian 265 265 267 272 272 Difference of Gaussians See also Extracting Lines, Contours, and Components Introduction Detecting image contours with the Canny operator How to it How it works See also Detecting lines in images with the Hough transform Getting ready How to it How it works There's more Detecting circles See also Fitting a line to a set of points How to it How it works There's more Extracting connected components How to it How it works There's more Computing components' shape descriptors How to it How it works 273 274 275 275 276 276 278 280 281 281 282 287 291 291 294 295 295 298 298 300 300 302 304 306 306 308 There's more Quadrilateral detection Detecting Interest Points Introduction Detecting corners in an image How to it How it works There's more Good features to track See also Detecting features quickly How to it How it works There's more See also Detecting scale-invariant features How to it How it works There's more The SIFT feature-detection algorithm See also Detecting FAST features at multiple scales How to it How it works There's more The ORB feature-detection algorithm See also Describing and Matching Interest Points Introduction Matching local templates How to it How it works 309 310 314 314 315 315 321 324 324 327 328 328 329 331 334 336 336 338 341 341 344 345 345 346 348 348 349 351 351 353 353 357 There's more Template matching See also Describing and matching local intensity patterns How to it How it works There's more Cross-checking matches The ratio test Distance thresholding See also Matching keypoints with binary descriptors How to it How it works There's more FREAK See also 10 Estimating Projective Relations in Images Introduction Image formation Computing the fundamental matrix of an image pair Getting ready How to it How it works See also Matching images using random sample consensus How to it How it works There's more Refining the fundamental matrix Refining the matches Computing a homography between two images 360 360 361 362 362 365 368 368 369 371 372 374 374 376 377 377 379 381 381 381 386 386 388 391 393 394 394 397 401 401 402 403 Getting ready How to it How it works There's more Generating image panoramas with the cv::Stitcher module See also Detecting a planar target in images How to it How it works See also 11 Reconstructing 3D Scenes Introduction Digital image formation Calibrating a camera How to it How it works There's more Calibration with known intrinsic parameters Using a grid of circles for calibration See also Recovering camera pose How to it How it works There's more cv::Viz, a 3D Visualizer module See also Reconstructing a 3D scene from calibrated cameras How to it How it works There's more Decomposing a homography Bundle adjustment 403 405 407 408 408 410 411 411 414 417 419 419 419 423 423 429 432 433 433 433 434 434 438 439 439 441 442 442 447 451 451 451 See also Computing depth from stereo image Getting ready How to it How it works See also 12 Processing Video Sequences 452 453 453 455 457 458 460 Introduction Reading video sequences How to it How it works There's more See also Processing the video frames How to it How it works There's more Processing a sequence of images Using a frame processor class See also Writing video sequences How to it How it works There's more The codec four-character code See also Extracting the foreground objects in a video How to it How it works There's more The Mixture of Gaussian method See also 460 461 461 462 464 465 466 466 467 472 472 474 475 476 476 477 480 481 482 483 485 487 488 488 491 13 Tracking Visual Motion Introduction Tracing feature points in a video How to it How it works See also Estimating the optical flow 492 492 493 493 499 501 502 Getting ready How to it How it works See also Tracking an object in a video How to it How it works See also 14 Learning from Examples Introduction Recognizing faces using nearest neighbors of local binary patterns How to it How it works See also Finding objects and faces with a cascade of Haar features Getting ready How to it How it works There's more Face detection with a Haar cascade See also Detecting objects and people with Support Vector Machines and histograms of oriented gradients Getting ready How to it 503 504 507 509 510 510 514 518 519 519 521 521 524 529 530 530 532 537 541 541 542 543 543 544 How it works There's more HOG visualization People detection Deep learning and Convolutional Neural Networks See also 548 552 552 555 558 559

Ngày đăng: 13/04/2019, 01:23

Mục lục

  • OpenCV 3 Computer Vision Application Programming Cookbook - Third Edition

  • What this book covers

  • What you need for this book

  • Who this book is for

  • How to do it…

  • There's more…

  • Downloading the example code

  • Downloading the color images of this book

  • Installing the OpenCV library

  • The Visualization Toolkit and the cv::viz module

  • The OpenCV developer site

  • Loading, displaying, and saving images

  • Exploring the cv::Mat data structure

  • The input and output arrays

  • Defining regions of interest

  • The cv::Mat_ template class

  • Scanning an image with pointers

  • Other color reduction formulas

  • Having input and output arguments

  • Efficient scanning of continuous images

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan