Closed peci1 closed 8 years ago
Your code looks great, nice job!
My main concern is that most camera drivers are written in C++ and not Python, and the C++ camera_info_manager does not provide similar interfaces. I suppose they could be added, if someone were sufficiently motivated to do it, but that probably would not be me.
It would neither be me, since I don't need it at the moment... Do you consider it as a blocker for adding this Python feature? One half-way could be to provide a setCameraInfo
C++ method that does not store the camera info in the calibration file, so that drivers can change the current camera info without overwriting the calibration file... The drivers could then do the P matrix computation themselves and just use the camera_info_manager to publish the matrices.
As for the language choice - I can imagine most USB/FireWire cameras have C++ drivers, but for IP cameras, Python is much easier to use (that is my case).
Do you consider it as a blocker for adding this Python feature?
No, I don't.
We could consider the two Python implementations as "proofs of concept". By gaining experience with IP cameras, we'll find out what works best in actual use.
Ok :) I implemented both ways, because each of them has some dis/advantages, so that developers can decide what they need...
There is still no calibration interface/procedure, but I don't have time to do it...
At least an outline of a calibration procedure would be helpful, if people are actually going to use it.
Like for interpolation, would the user select several zoom settings and run calibration on each one?
Yes, that was the idea... He'd just have to backup the yaml file for each zoom level before it is overridden by the next calibration step... I can add some notes like this...
For the other method, I assume the user just reads the specs of the chip/lens and tries his best... There could probably be some more sophisticated methods, but this way will IMO be never very precise, so it is basically just to have at least something you can use with your zoom camera.
Sounds reasonable. I think we do owe it to people to provide at least some basic hints. :smile:
Here we go ;)
This is my trial to solve http://answers.ros.org/question/232931/zoom-camera-calibration-in-ros/ . I am open to any suggestions on how to do this better. The calibration part has still been missing, but at least the interpolating version should be able to use several calibrations captured at different zoom levels using the standard calibration package.