csiz
csiz

Reputation: 5190

webcam access in c++

I want to access the webcam so I can do some precessing on the images, like tracking a light, but I can't find a way to access the webcam. I googled it but I got confused.

Can you point me to a library that can do that (windows)? and maybe also provide an example?

I would need to periodically get a pixel map of the image, about 20 time per second or so if it would be possible.

Upvotes: 25

Views: 73389

Answers (6)

Vijay Mathew
Vijay Mathew

Reputation: 27204

Checkout OpenCV. It is a cross-platform computer vision SDK and has modules to capture images from the webcam. Maybe too feature rich for you, but it's worth a look.

Upvotes: 8

Abhishek
Abhishek

Reputation: 31

you can try openframeworks as well http://openframeworks.cc/

Upvotes: 3

Jonba
Jonba

Reputation: 1162

There's a wrapper for DirectMedia/DirectShow called Extremely Simple Capture API or ESCAPI. If you don't need to do anything complicated, ESCAPI might be a good bet.

Upvotes: 14

macbirdie
macbirdie

Reputation: 16193

You need DirectShow. This is a Windows framework for video playback and capture.

It's included in Windows SDK and there are many samples for video input capture included.

But, as Vijay mentioned, you can also try using OpenCV since it not only abstracts away the platform-specific video capture API, it also includes many image processing algorithms you could use to track the light in your project.

Upvotes: 18

Mathieu Garstecki
Mathieu Garstecki

Reputation: 1629

If you target Windows Vista (or Seven), there's the new Media Foundation SDK, which is slightly easier to manipulate and more feature-rich, and most important, will be better supported by Microsoft in the future.

You can find out about it here.

And about video capture specifically here.

Upvotes: 5

Arsen Mkrtchyan
Arsen Mkrtchyan

Reputation: 50752

You can use DirectShow: here

Upvotes: 2

Related Questions