Ask Your Question
0

Matching Unique Cameras to Calibration Values

asked 2013-07-23 11:16:18 -0600

pistorinoj gravatar image

I am using OpenCV 2.4.6 on a Windows 8 64 bit machine using VS2012 c++/cli with two MSFT LifeCam 3000HD web cams. I am able to calibrate the cameras using the calibrateCamera function.

Because you do not want to have to perform calibration every time (and the values should not change), it makes sense to store the computed values for each camera, which should be unique to that camera (i.e., two cameras of the exact same make and model will likely have different distortion values).

I am wondering how, if at all, people are uniquely identifying cameras so that they can load calibration values specific to that camera between sessions. For example, suppose two cameras are calibrated and then, before the next session, one is disconnected. In the next session, how would you know which calibration values apply to the camera that remains connected?

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted
0

answered 2013-08-04 18:06:08 -0600

pistorinoj gravatar image

I figured out something that works for me and am posting in case it is helpful to others using the videoInput library.

First, there is a recent update (July 2013) on gitHub that may be helpful. That library uses DirectShow. Second, you need to modify that code to report the DevicePath which is supposed to be an ID that is unique to each device on the system. I added my own getDevicePath function and used the SDK example to implement it.

While the videoInput library has come in for some criticism, I do not know how you can turn oof autofocus using OpenCV VideoCapture or get a value like this.

edit flag offensive delete link more

Comments

1

with a bit of luck, you can access the camera's property sheet, and turn off autofocus/whitebalance and such from there:

VideoCapture cap(0);
cap.set(CV_CAP_PROP_SETTINGS,1);
berak gravatar imageberak ( 2013-08-05 01:41:21 -0600 )edit

Maybe. The docs say that whitebalance is not supported and there is nothing to indicate that autofocus setting is supported either. Most relevant, there does not appear to be a way of getting a unique ID for each camera.

pistorinoj gravatar imagepistorinoj ( 2013-08-05 21:42:36 -0600 )edit

Question Tools

Stats

Asked: 2013-07-23 11:16:18 -0600

Seen: 519 times

Last updated: Aug 04 '13