|
1 | 1 | # Learning OpenCV 3
|
2 | 2 |
|
3 | 3 |
|
4 |
| -This is the example code that accompanies Learning OpenCV 3 by Adrian Kaehler and Gary Bradski (9781491937990). |
5 |
| - |
| 4 | +This is the example code that accompanies Learning OpenCV 3 by Adrian Kaehler and Gary Bradski (9781491937990). |
| 5 | + |
| 6 | + |
| 7 | +**LIST** |
| 8 | + |
| 9 | +SPECIAL FILES: |
| 10 | + |
| 11 | +* README.md -- this readme file |
| 12 | +* Dockerfile -- complete self contained opencv environment using Ubuntu 16-04 |
| 13 | +* CMakeLists.txt -- how to buld everything here |
| 14 | + |
| 15 | +EXERCISES: |
| 16 | + |
| 17 | +* Exercises at end of Chapter 5 |
| 18 | +* Exercises at end of Chapter 7 |
| 19 | +* Exercises_8_1.cpp Exercises at end of Chapter 8 |
| 20 | +* Exercises_9_1-2-10-11-12-15-16.cpp Exercises at end of Chapter 8 |
| 21 | +* Exercises_9_4.cpp Exercises at end of Chapter 9 |
| 22 | +* Exercises_9_5.cpp Exercises at end of Chapter 9 |
| 23 | +* Exercises at end of Chapter 11 |
| 24 | + |
| 25 | +EXAMPLES: |
| 26 | + |
| 27 | +* Example 2-1. A simple OpenCV program that loads an image from disk and displays it |
| 28 | +* Example 2-2. Same as Example 2-1 but employing the “using namespace” directive |
| 29 | +* Example 2-3. A simple OpenCV program for playing a video file from disk |
| 30 | +* Example 2-4. Adding a trackbar slider to the basic viewer window for moving around |
| 31 | +* Example 2-5. Loading and then smoothing an image before it is displayed on the screen |
| 32 | +* Example 2-6. Using cv::pyrDown() to create a new image that is half the width and |
| 33 | +* Example 2-7. The Canny edge detector writes its output to a single-channel (grayscale) image |
| 34 | +* Example 2-8. Combining the pyramid down operator (twice) and the Canny |
| 35 | +* Example 2-9. Getting and setting pixels in Example 2-8 |
| 36 | +* Example 2-10. The same object can load videos from a camera or a file |
| 37 | +* Example 2-11. A complete program to read in a color video and write out the log-polar- |
| 38 | +* Example 4-1. Summation of a multidimensional array, done plane by plane |
| 39 | +* Example 4-2. Summation of two arrays using the N-ary operator |
| 40 | +* Example 4-3. Printing all of the nonzero elements of a sparse array |
| 41 | +* Example 4-4. A better way to print a matrix |
| 42 | +* Example 5-1. Complete program to alpha-blend the ROI starting at (0,0) in src2 with the ROI starting at (x,y) in src1 |
| 43 | +* Example 7-1. Using the default random number generator to generate a pair of integers |
| 44 | +* Example 8-1. Unpacking a four-character code to identify a video codec |
| 45 | +* Example 8-2. Using cv::FileStorage to create a .yml data file |
| 46 | +* Example 8-3. Using cv::FileStorage to read a .yml file |
| 47 | +* Example 9-1. Creating a window and displaying an image in that window |
| 48 | +* Example 9-2. Toy program for using a mouse to draw boxes on the screen |
| 49 | +* Example 9-3. Using a trackbar to create a “switch” tha t the user can turn on and off; |
| 50 | +* Example 9-4. Slightly modified code from the OpenCV documentation that draws a |
| 51 | +* Example 9-5. An example program ch4_qt.cpp, which takes a single argument |
| 52 | +* Example 9-6. The QMoviePlayer object header file QMoviePlayer.hpp |
| 53 | +* Example 9-7. The QMoviePlayer object source file: QMoviePlayer.cpp |
| 54 | +* Example 9-8. An example program which takes a single argument |
| 55 | +* Example 9-9. The WxMoviePlayer object header file WxMoviePlayer.hpp |
| 56 | +* Example 9-10. The WxMoviePlayer object source file WxMoviePlayer.cpp |
| 57 | +* Example 9-11. An example header file for our custom View class |
| 58 | +* Example 10-1. Using cv::threshold() to sum three channels of an image |
| 59 | +* Example 10-2. Alternative method to combine and threshold image planes |
| 60 | +* Example 10-3. Threshold versus adaptive threshold |
| 61 | +* Example 11-1. An affine transformation. |
| 62 | +* Example 11-2. Code for perspective transformation |
| 63 | +* Example 11-3. Log-polar transform example |
| 64 | +* Example 12-1. Using cv::dft() and cv::idft() to accelerate the computation of |
| 65 | +* Example 12-2. Using cv::HoughCircles() to return a sequence of circles found in a |
| 66 | +* Example 13-1. Histogram computation and display |
| 67 | +* Example 13-2. Creating signatures from histograms for EMD; note that this code is the |
| 68 | +* Example 13-3. Template matching |
| 69 | +* Example 14-1. Finding contours based on a trackbar’s location; the contours are |
| 70 | +* Example 14-2. Finding and drawing contours on an input image |
| 71 | +* Example 14-3. Drawing labeled connected components |
| 72 | +* Example 14-4. Using the shape context distance extractor |
| 73 | +* Example 15-1. Reading out the RGB values of all pixels in one row of a video and |
| 74 | +* Example 15-2. Learning a background model to identify foreground pixels |
| 75 | +* Example 15-3. Computing the on and off-diagonal elements of a variance/covariance model |
| 76 | +* Example 15-4. Codebook algorithm implementation |
| 77 | +* Example 15-5. Cleanup using connected components |
| 78 | +* EXTRA Example 15-6, using OpenCV's background subtractor class. Modified by Gary Bradski, 6/4/2017 |
| 79 | +* Example 16-1. Pyramid L-K optical flow |
| 80 | +* EXTRA Example 16-2. 2D Feature detectors and 2D Extra Features framework |
| 81 | +* Example 17-1. Kalman filter example code |
| 82 | +* Example 17-2. Farneback optical flow example code |
| 83 | +* Example 18-1. Reading a chessboard’s width and height, reading them and calibrating |
| 84 | +* EXTRA Example 18-1. From disk. Reading a chessboard’s width and height, reading them and calibrating |
| 85 | +* Example 19-1. Bird’s - eye view |
| 86 | +* Example 19-2. Computing the fundamental matrix using RANSAC |
| 87 | +* Example 19-3. Stereo calibration, rectification, and correspondence |
| 88 | +* Example 19-4. Two-dimensional line fitting |
| 89 | +* Example 20-01. Using K-means |
| 90 | +* Example 20-02. Using the Mahalanobis distance for classification |
| 91 | +* Example 21-1. Creating and training a decision tree |
| 92 | +* Example 22-1. Detecting and drawing faces |
| 93 | + |
| 94 | +IMAGES: |
| 95 | + |
| 96 | +* box.png |
| 97 | +* box_in_scene.png |
| 98 | +* checkerboard9x6.png |
| 99 | +* example_16-01-imgA.png |
| 100 | +* example_16-01-imgB.png |
| 101 | +* faces.png |
| 102 | +* BlueCup.jpg |
| 103 | +* HandIndoorColor.jpg |
| 104 | +* HandOutdoorColor.jpg |
| 105 | +* HandOutdoorSunColor.jpg |
| 106 | +* adrian.jpg |
| 107 | +* faceScene.jpg |
| 108 | +* faceTemplate.jpg |
| 109 | +* fruits.jpg |
| 110 | +* stuff.jpg |
| 111 | + |
| 112 | +MOVIES: |
| 113 | + |
| 114 | +* test.avi |
| 115 | +* tree.avi |
| 116 | + |
| 117 | +CLASSIFIERS: |
| 118 | + |
| 119 | +* haarcascade_frontalcatface.xml #Cat faces! |
| 120 | +* haarcascade_frontalcatface_extended.xml |
| 121 | +* haarcascade_frontalface_alt.xml |
| 122 | + |
| 123 | +DIRECTORIES: |
| 124 | + |
| 125 | +* birdseye -- where the images are of checkerboards on the floor |
| 126 | +* build -- you will make and build things in this directory |
| 127 | +* calibration -- checkerboard images to calibrate on |
| 128 | +* muchroom -- machine learning database |
| 129 | +* shape_sample -- silhoette shapes to recognize |
| 130 | +* stereoData -- left, right image pairs of checkboards to calibrate and view on |
| 131 | + |
| 132 | + |
| 133 | + |
6 | 134 | * ~~In progress May 24, 2017~~
|
7 | 135 | * ~~In progress June 13, 2017~~
|
8 | 136 | * ~~In progress June 20, 2017~~
|
@@ -56,6 +184,6 @@ Note, for your interest, included here is an Ubuntu _Docker_ file that
|
56 | 184 |
|
57 | 185 | Click the Download Zip button to the right to download example code.
|
58 | 186 |
|
59 |
| -Visit the catalog page [here](http://shop.oreilly.com/product/0636920044765.do). |
| 187 | +Visit the catalog page [here](http:*shop.oreilly.com/product/0636920044765.do). |
60 | 188 |
|
61 |
| -See an error? Report it [here](http://oreilly.com/catalog/errata.csp?isbn=0636920044765), or simply fork and send us a pull request |
| 189 | +See an error? Report it [here](http:*oreilly.com/catalog/errata.csp?isbn=0636920044765), or simply fork and send us a pull request |
0 commit comments