If you want to try some ready-made code, there is a sample file that comes with OpenCV. In OpenCV 2.1 it's in samples/c/blobtrack.cpp and in OpenCV 2.2 it's in samples/c/blobtrack_sample.cpp. Both come with .exe files, so you can try the samples right away in case you happen to use Windows. There is an oldish site, The OpenCV Video Surveillance / Blob Tracker Facility, documenting how the code works.
The tracker in blobtrack.cpp is divided in three stages (copied from the previous link):
- A foreground/background discriminator which labels each pixel as either foreground or background.
- A blob detector which groups adjacent "foreground" pixels into blobs, flood-fill style.
- A blob tracker which assigns ID numbers to blobs and tracks their motion frame-to-frame.
blobtrack.cpp actually implements several methods for each stage, so you can try different combinations to see which one works best.
That last stage means that you can actually track multiple objects simultaneously. I've tested it on videos of vehicles moving on highways taken with a static camera and it works pretty well, if a bit slow with the best methods.
Also, you can go a long way using a simple technique called background subtraction if the background of your video is static, that is, if the only thing that changes from frame to frame is the toy car itself. But I think that will only help you as far as locating the object, not estimating its pose.
Note: I couldn't get the sample that comes with OpenCV 2.2 to work. The one that comes with OpenCV 2.1 worked fine for me.