Tapping into VGA output of a PC - computer-vision

Is it possible to tap into the VGA output of a (different) computer? The computer in question will be running a driving simulator (which is at full screen). I would like to feed this video to another computer running a program, that I've written, which can detect motorway/freeway lanes and generate an output to steer the vehicle running in the driving simulator.
I did find this: http://www.synthenv.com/PixelPusher_usb_frame_grabber.aspx
A Frame grabber that can a VGA input and output it as a USB. Its also compatible with OpenCV (which is what I'm using for computer vision). Any suggestions on how to go about this?

Have you looked at VGA2USB Frame Grabber?

Frame grabbers are definitely an option. You could also convert your VGA signal to S-Video and use any graphics card with TV-in. Or, if you do not insist on running this on two computers, you could use a screen-grabbing camera driver, like http://www.splitmedialabs.com/vh-video-sdk/vh-screen-capture

Related

How to use external HD video camera as input for a Visual Studio, OpenCV project?

I am doing a project regarding image processing and multiple person counting and was wondering, how exactly can I plug my ION AIR PRO PLUS video recording device (similar to a goPro), and use it as my 'webcam'? Basically, I want to plug it in and then access it via a live feed using Microsoft Visual Studio 2010 and OpenCV, and then do real time tracking of people walking.
What I am struggling with is accessing the external camera from my program. Anyone know how to do this?
The video camera has no wifi, only an hdmi output, RGB cable output and a USB.
Attach the USB cable and instantiate cv::VideoCaputre(0). In Linux local cameras have number indices I think in Windows should be the same.
Peter, In the past I have worked on camera products on Windows XP & 7. On windows usb cameras can be accessed using directshow.
You can implement a directshow filter for people tracking algorithm and fit it in the direct show pipeline soon after your camera plugin.
Here is a link to an application stack that may suit your use case(to give you an idea):
http://www.e-consystems.com/blog/camera/?p=1302
The recent windows operating systems that run WinRT, use a latest framework called MediaFoundation. As its very new there are some limitations we found when we tried to build similar applications.
To quickly see a preview out of your camera, pls google for "graphedit" and install it on a Windows 7 pc. Its a fairly simple tool. You can drag and drop your camera, if directshow is supported, then render its output pin and play for preview.
I do not think this is a standard webcam, it appears to work only as a mass storage device. One thing you can try is removing the micro sd card and connect it to the computer. This works on some cameras.
Assuming this does not work, one option would be to purchase an HDMI capture card. The YK762H PCI-E card costs around $40, and will allow you to use the camera with OpenCV, the videoInput library, or DirectShow.
The other option is to use the WiFi live preview. You would have to figure out the commands sent to the camera. This has already been done with the SJCam wifi cameras, the GoPro models, and Sony cameras such as the QX-10 and HDR-AS100V.

c++ OpenCV capture easycap usb cam

I am trying to get video stream from analog camera connected to usb easycap - in OpenCV C++.
using MATLAB, I can get stream the same approach like for laptop webcam (with changing the index from 1 to 2).
with OpenCV, I can get stream from laptop webcam with index 0.
but when I am trying to get with the camera connected to the easycap (using index 1) , the laptop crashes and get blue screen.
Anyone have done this before?
Thanks
I work on the same device and I also have some BSOD with it.
Do you plug it with the USB extension provided ? If yes, try don't use it.
If your problem is still hapening, it's probably because like me, you use a low quality chinese fake EasyCap. I bought a real one and I haven't problems anymore
If you want to keep your device, you can use it with VideoCapture in python, it works very well and there is no more BSOD
Try using Linux. I tested my code with a fake EasyCAP in windows and I got many BSOD then I built and executed the same code in Linux and it worked.
Linux is driver friendly.

Linux: getting camera device number

I have: Linux laptop with built-in camera, 2 other cameras, OpenCV-based program.
I need: to pass the device number of those two cameras to the program automatically.
In OpenCV you open a camera with videoCapture.open(n);, where videoCapture is an object of a cv::VideoCapture and n is device number of the camera you wish to open. My program uses two webcams. Here OpenCV part of this question is over.
Usually this n is hard-coded or manually passed by user. I want to write a script that would automatically detect the device number of two desired cameras. But built-in camera is the obstacle.
When loaded, Linux defaults the device number of the built-in camera to 0. Two connected USB-cameras get the numbers 1 and 2 accordingly. And when you reboot the laptop you most probably get all the numbers mixed up, e.g. built-in camera - 1, 0 and 2 - for USB-cameras. And anyways I have to change the device numbers in the code when I switch the platfrom and execute the program on desktop which have no built-in cameras.
I thought I could write sh script that would parse an output of lsusb | grep Logitech (those two USB webcams are Logitech ones) and get the device number according to USB Bus number but that rebooting thing obstructs this.
I would appreciate any ideas and thoughts on what I could check out for the problem.
I think you should enumerate the USB devices--you can see details on how to do it here:
Enum USB devices in Linux/C++
For a previous question similar to yours, see: How to count cameras in OpenCV 2.3?

Can't get a picture from web-cam with OpenCV when Asus Xtion Pro is plugged in

I can get an image from web-cam (Microsot HD-3000) with OpenCV and everything works fine, when Xtion isn't plug in USB of computer, but if I just plug it in I get only a gray image from web-cam. Skype can't get image too. Xtion works well with OpenNI 2. I use Windows 7 x86 on my Computer and OpenCV 2.4.0.
The problem you are likely facing is the limitation of the USB bus. Especially Microsoft lifecams are sensitive to this problem as they tend to grab the maximum bus speed they can. If they can't do this they stop working. The solution to this can be either very simple or a little more complicated.
1: Switch around USB plugs. Some mainboards have different USB buses on different ports. By swapping around you might be able to find a configuration that does work for you.
2: Expand your system with another USB bracket. If the solution in 1 doesn't work you're going to have to expand your computer with more USB ports to get around the bus limitation.
3: Use as less USB devices as possible, don't use the ASUS Xtion, or buy a different webcam

retrieving information about graphics card output and monitors in C++

I have an old piece of C++ code which displays animations, and expects a runtime environment which has an ATI graphics card, and uses the ATI Catalyst Control Center SDK to get information about the graphics card, and monitors attached. The rendering itself is all done with Direct3D.
I need to get this code to work with an nVidia graphics card, so I need a way of finding out whether the graphics card uses VGA, DVI or HDMI output, and whether the monitor/s support HDMI output and what their max resolutions are.
The second one should be easy, but I don't know where to start with the first...
Thanks.