pointgrey_camera_driver icon indicating copy to clipboard operation
pointgrey_camera_driver copied to clipboard

Can't calibrate when camera is configured to transmit ROI

Open keithicus opened this issue 8 years ago • 0 comments

I'm working with a fisheye lens and need to crop the image and perform calibration. I set the camera ROI in my launch file as follows:

  <param name="format7_x_offset" value="700" />
  <param name="format7_roi_width" value="1100" />
  <param name="format7_y_offset" value="450" />
  <param name="format7_roi_height" value="1100" />

I was able to follow and perform image calibration with the image_proc package as outlined here:

http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration

The yaml file i created had the dimensions of the ROI (1100x1100). When I tried to use this calibration file with this package, i ran into the following error:

OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in Mat, file /Users/artemlenskiy/ros/hydro/src/opencv2/modules/core/src/matrix.cpp, line 323 OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in Mat, file /Users/artemlenskiy/ros/hydro/src/opencv2/modules/core/src/matrix.cpp, line 323

I believe the issue I'm running into is something similar to this:

https://github.com/ros-drivers/camera1394/issues/36

As a work around, I abandoned image_proc for rectification and instead used this package:

https://github.com/team-vigir/vigir_wide_angle_image_proc

Which uses this matlab toolbox to calculate the calibration:

https://sites.google.com/site/scarabotix/ocamcalib-toolbox

Not sure what can be done so that a calibrated ROI could be used.

keithicus avatar Jun 23 '16 18:06 keithicus