1

For the people that have experience with OpenCV, are there any webcams that don't work with OpenCV.

I am looking into the feasibility of a project and I know I am going to need a high quality feed (1080p), so I am going to need a webcam that is capable of that. So does OpenCV have problems with certain cameras?

To be analysing a video feed of that resolution on the fly I am going to need a fast processor, I know this, but will I need a machine that is not consumer available...ie, will an i7 do?

Thanks.

Cheetah
  • 13,785
  • 31
  • 106
  • 190
  • on what platform? It's impossible to answer question about performance without knowing the type of processing you'll do on the images. Ideally post 2 separate questions, it's better to have one question per post – CharlesB Oct 17 '11 at 13:01
  • I am able to use any platform. Will be doing eye tracking and hand gesture recognition on each frame. – Cheetah Oct 17 '11 at 13:17
  • Yes, there are a few webcams that are not supported by OpenCV. – karlphillip Oct 17 '11 at 14:10
  • 1
    Not that I'm aware of. However, there is a list for supported cameras. Check my answer. – karlphillip Oct 17 '11 at 14:27

3 Answers3

4

On Linux, if it's supported by v4l2, it is probably going to work (e.g., my home webcam isn't listed, but it's v4l2 compatible and works out of the box). You can always use the camera manufacturer's driver to acquire frames, and feed them to your OpenCV code. You can even sub-class the VideoCapture class, and implement your camera driver to make it work seamlessly with OpenCV.

I would think the latest i7 series should work just fine. You may want to also check out Intel's IPP library for more optimized routines. IPP also easily integrates into OpenCV code since OpenCV was an Intel project at its inception.

If you need really fast image processing, you might want to consider adding a high performance GPU to the box, so that you have that option available to you.

mevatron
  • 13,911
  • 4
  • 55
  • 72
2

Unfortunately, the page that I'm about to reference doesn't exist anymore. OpenCV evolved a lot since I first wrote this answer in 2011 and it's difficult for them to keep track of which cameras in the market are supported by OpenCV.

Anyway, here is the old list of supported cameras organized by Operating System (this list was available until the beginning of 2013).

karlphillip
  • 92,053
  • 36
  • 243
  • 426
  • I found that aswell, it doesn't have some of the latest 1080p cams listed though :(. Thanks anyways. – Cheetah Oct 17 '11 at 14:48
  • @Tom I'm not sure the answer deserves a down vote since it was written more than 2 years ago. Anyway, OpenCV has evolved a lot since then and unfortunately, there's no official list anymore now that many devices are supported by OpenCV, so it's very difficult to keep track. But if you are looking for that page, it can still be accessed through [Internet Archive](https://web.archive.org/web/20120815172655/http://opencv.willowgarage.com/wiki/Welcome/OS). – karlphillip Dec 06 '13 at 16:23
  • Since the only content of your answer was a link, that didn’t function anymore, there is nothing left in your answer to be of any value. Good thing is downvotes aren’t permanent, I can remove it anytime when the answer provides useful information again:) You could update it with the internet archive link, at least for reference, or make a note that there isn’t such a list anymore. In its current form the answer is not helpful anymore. – Tom Dec 06 '13 at 18:27
0

It depends if your camera is supported by OpenCV, mainly by the driver model that your camera is using.

Quote from Getting Started with OpenCV capturing,

Currently two camera interfaces can be used on Windows: Video for Windows (VFW) and Matrox Imaging Library (MIL) and two on Linux: Video for Linux(V4L) and IEEE1394. For the latter there exists two implemented interfaces (CvCaptureCAM_DC1394_CPP and CvCapture_DC1394V2).

So if your camera is VFW or MIL compliant under Windows or suits into standard V4L or IEEE1394 driver model, then probably it will work.

But if not, like mevatron says, you can even sub-class the VideoCapture class, and implement your camera driver to make it work seamlessly with OpenCV.

Community
  • 1
  • 1
Lihang Li
  • 361
  • 2
  • 5