From bd89ffbadc188c9ee017bf08c5079d28e8db79f4 Mon Sep 17 00:00:00 2001 From: Adrian Kaehler Date: Sat, 18 Feb 2017 11:33:14 -0800 Subject: [PATCH] Added Lucas-Kanade optical flow example 16-01 I also added two images that could be used to test this. --- example_16-01-imgA.png | Bin 0 -> 35165 bytes example_16-01-imgB.png | Bin 0 -> 34496 bytes example_16-01.cpp | 102 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100755 example_16-01-imgA.png create mode 100755 example_16-01-imgB.png create mode 100644 example_16-01.cpp diff --git a/example_16-01-imgA.png b/example_16-01-imgA.png new file mode 100755 index 0000000000000000000000000000000000000000..dbcf1e3da6e7eb46a9d1c41e748087bc7cc046d4 GIT binary patch literal 35165 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ÐaKa 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 literal 0 HcmV?d00001 diff --git a/example_16-01-imgB.png b/example_16-01-imgB.png new file mode 100755 index 0000000000000000000000000000000000000000..bd59d50698af6b8e060b82516690a99d8996dc93 GIT binary patch literal 34496 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 literal 0 HcmV?d00001 diff --git a/example_16-01.cpp b/example_16-01.cpp new file mode 100644 index 0000000..316e807 --- /dev/null +++ b/example_16-01.cpp @@ -0,0 +1,102 @@ +// Pyramid L-K optical flow example +// +#include +#include + +using namespace std; + +static const int MAX_CORNERS = 1000; + +void help( char** argv ) { + cout << "Call: " < cornersA, cornersB; + const int MAX_CORNERS = 500; + cv::goodFeaturesToTrack( + imgA, // Image to track + cornersA, // Vector of detected corners (output) + MAX_CORNERS, // Keep up to this many corners + 0.01, // Quality level (percent of maximum) + 5, // Min distance between corners + cv::noArray(), // Mask + 3, // Block size + false, // true: Harris, false: Shi-Tomasi + 0.04 // method specific parameter + ); + + cv::cornerSubPix( + imgA, // Input image + cornersA, // Vector of corners (input and output) + cv::Size(win_size, win_size), // Half side length of search window + cv::Size(-1,-1), // Half side length of dead zone (-1=none) + cv::TermCriteria( + cv::TermCriteria::MAX_ITER | cv::TermCriteria::EPS, + 20, // Maximum number of iterations + 0.03 // Minimum change per iteration + ) + ); + + // Call the Lucas Kanade algorithm + // + vector features_found; + cv::calcOpticalFlowPyrLK( + imgA, // Previous image + imgB, // Next image + cornersA, // Previous set of corners (from imgA) + cornersB, // Next set of corners (from imgB) + features_found, // Output vector, each is 1 for tracked + cv::noArray(), // Output vector, lists errors (optional) + cv::Size( win_size*2+1, win_size*2+1 ), // Search window size + 5, // Maximum pyramid level to construct + cv::TermCriteria( + cv::TermCriteria::MAX_ITER | cv::TermCriteria::EPS, + 20, // Maximum number of iterations + 0.3 // Minimum change per iteration + ) + ); + + // Now make some image of what we are looking at: + // Note that if you want to track cornersB further, i.e. + // pass them as input to the next calcOpticalFlowPyrLK, + // you would need to "compress" the vector, i.e., exclude points for which + // features_found[i] == false. + for( int i = 0; i < (int)cornersA.size(); i++ ) { + if( !features_found[i] ) + continue; + line( + imgC, // Draw onto this image + cornersA[i], // Starting here + cornersB[i], // Ending here + cv::Scalar(0,255,0), // This color + 2, // This many pixels wide + cv::LINE_AA // Draw line in this style + ); + } + + cv::imshow( "ImageA", imgA ); + cv::imshow( "ImageB", imgB ); + cv::imshow( "LK Optical Flow Example", imgC ); + cv::waitKey(0); + + return 0; +}