So I was using OpenCV to capture from my webcam, although I have hit a problem. Seems OpenCV has no way of detecting if the camera has been disconnected. So I was wondering if anyone knows any other webcam APIs for c++ that could be used as an alternative, or if anyone knows how to detect disconnected/reconnected webcams using OpenCV I could even continue using that.
Related
I'm trying to stream a video generated with OpenCV (using the webcam and doing some image processing). To enhance the challenge, we've decided to use OpenWebRTC. The OpenWebRTC examples are amazing, but they all use the webcam (I know, this is how webrtc is intended, to use the webcam), but we want to send Mat objects inside a while loop (very OpenCV style).
By chance, has anyone accomplished this or has any idea?
Thanks in advance,
—N
I have been trying to access my analog camera via a EasyCap video capture device. Any code I try only picks the usb webcam or internal webcam. I guess that since video capture device is a video controller, opencv doesnt recognize it as a imaging device.
Can anyone conform if you cannot access analog cameras with opencv via a video capture device.
If so, then what other method can be used.
i struggled with the same problem (in my case within python instead of C++, although I am certain it will be the same root cause) and hope it helps!
the original thread + ANSWER
also relevant XKCD
Even for digital devices, OpenCV isn't good at reading them, it is good at processing them. The library has supply for generic webcams, of course; however it does not supply most of the commercial or industrial cameras.
In short, to decode, you should try using "video for linux" or "video for windows" libraries; or the device SDK itself. Since you are using a video2usb converter, you shouldn't have any problem accessing the analog camera through these software.
I am using OpenCV 2.4 with C++ for image processing and video streaming . I would like to know how we can use fire-wire camera like pixilink to capture frames? I tried the VideoCapture class but it seems to work with only usb cameras unlike firewire one. If some one has done same thing with firewire camera then kindly give some guidance how to do that?
You can capture images using firewire SDK or you can also libdc1394 API. I found libdc1394 to more reliable and easy to use and there are couple of examples available to get start.
i intend to interact with a pc camera using c plus plus. Are there any libraries you can recommend or ways to go about ? The idea is to take shots with a Samsung wireless cam then get the images transferred unto a pc with cam and on the pc show images as per the face detection using the cam . any ideas where to start ?
Well, there's a wide range of ways to do it. Professional cameras have accompanying SDKs. If you camera is supported by it (I believe most webcams are) you should try OpenCV for a start.
Googling for "opencv face recognition" will yield plenty of hits, so you have a lot of reference material.
Try this reference (Face and Eyes Detection Using OpenCV) for a start.
After you start your project, you can specific questions on StackOverflow or on the OpenCV Yahoo! group.
Other options are:
1) openFrameworks.
Quoting from their website:
Openframeworks is a c++ library designed to assist the creative process by providing a simple and intuitive framework for experimentation.
The library is designed to work as a general purpose glue, and wraps together several commonly used libraries under a tidy interface: openGL for graphics, rtAudio for audio input and output, freeType for fonts,freeImage for image input and output, quicktime for video playing and sequence grabbing.
2) Qt
If you decide Qt, see this related question: Displaying WebCam video with Qt
I have a built in webcam (HP) and an USB webcam. Whenever I use webcams in OpenCV, the built in webcam is used. However I want use the USB webcam. I tried disabling the built in webcam and even uninstalling the drivers, but after doing that, I get a message saying that no webcams were detected, even though the USB webcam is connected. How can I use the USB webcam instead of the built in webcam? I have searched the net top to bottom and have found no fix.
Thanks
The command CaptureFromCAM accepts an integer as its only argument which specifies the device number to use. Change this number and it will use a different device.