How it works...

The main idea of tracking object orientation using PCA is that the object doesn't change during rotation. Because it's the same object in different orientations, it has its own basis and this basis rotates together with the object. So, we need to determine this basis in each moment to find an object's orientation. PCA is able to find such basis if we have the right data to analyze. Let's use the points of an object's contours. Of course, they change their absolute position during rotation, but they rotate together with the object. At each orientation, there are directions along which the points of the contours vary the most. And because rotation doesn't skew or distort the contours, these directions are revolved with the object. ...

Get OpenCV 3 Computer Vision with Python Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.