MegviiRobot / CamLaserCalibraTool

Extrinsic Calibration of a Camera and 2d Laser
BSD 3-Clause "New" or "Revised" License
660 stars 200 forks source link

About camera model #5

Closed YanhaoZhang closed 5 years ago

YanhaoZhang commented 5 years ago

您好 选择pinhole模型在运行kalibra_apriltag卡在下面的地方 想请问下是不是哪里参数没给对呢 image 我的yaml文件是 (我用的是readme中同样的标定板)

scan_topic_name: "/scan"
img_topic_name: "/camera/image_raw"

# tag info
tag_type: 1 # 1: kalibr_tag, 2: apriltag
tag_size: 0.0451 # tag size, unit meter
tag_spacing: 0.3 # tag spacing, only used in kalibr_tag. For details, please see kalibr tag description.
black_border: 2 # if you use kalibr_tag black_boarder = 2; if you use apriltag black_boarder = 1

#camera calibration 
model_type: PINHOLE
camera_name: camera
image_width: 2048
image_height: 1536

distortion_parameters:
   k1: -0.39561955371546687
   k2: 0.14301415731672948
   p1: -0.00091786036772837
   p2: -0.0011805174547034807

projection_parameters:
   fx: 1115.3458479831127
   fy: 1115.5680569978117
   cx: 1047.8994454164401
   cy: 775.5928959466218

另外还想请问下样例中的KANNALA_BRANDT对应kalib中的什么模型呢?

最后还想问下哈 对于鱼眼镜头 哪种模型更适合呢?

谢谢哈 :)

HeYijia commented 5 years ago
  1. 运行Apriltag计算程序 roslaunch lasercamcal_ros kalibra_apriltag.launch 以后,还应该播放数据 rosbag play data.bag。 不然程序不会往下执行程序。
  2. KANNALA_BRANDT 对应 kalibr 中的 pinhole-equi 这个,即不是 rad-tan 这个畸变模型而是 equi 这个畸变模型。
  3. 鱼眼镜头更适合采用 KANNALA_BRANDT。
YanhaoZhang commented 5 years ago

好的好的 谢谢您哈,关于第一个问题似乎是我录的ros包太大了

ethanonfire commented 3 years ago

请问你的camera 是 pinhole但为什么有distortion_parameters? 据我所知pinhole是没有distortion。。?

ethanonfire commented 3 years ago

另外,我也遇见了同样的情况,卡在“LOAD PINHOLE CAMERA”那里就不走了。

请问这时应该是发生什么?这时应该摄像头打开采集pose?

YanhaoZhang commented 3 years ago

另外,我也遇见了同样的情况,卡在“LOAD PINHOLE CAMERA”那里就不走了。

请问这时应该是发生什么?这时应该摄像头打开采集pose?

@ethanonfire 你好 这个代码我挺长时间没有再用 已经有些不记得了。关于第一个问题 distortion 应该指的是畸变的参数

ethanonfire commented 3 years ago

@YanhaoZhang 感谢你的回复,我在问一下。据我所知pinhole是没有畸变的参数,因为pinhole没有lens。请问你pinhole的畸变的参数是从哪里得到的?谢谢!

YanhaoZhang commented 3 years ago

@ethanonfire 不客气 我的理解pinhole只是投影模型,我印象里这个代码里应该用的是标准的畸变模型 ros标定应该就可以

ethanonfire commented 3 years ago

@YanhaoZhang 请问你是怎样知道自己的相机是pinhole或其他的?还有distortion_parameters和projection_parameters是自己calibrate出来的吗?如果询问相机厂家能得到这些参数?新手问题比较多请谅解

YanhaoZhang commented 3 years ago

@ethanonfire 没事没事 我接触的相机都是pinhole模型的 畸变参数和投影参数要标定的 不过可以先用厂家的参数试一下。单目相机标定工具挺多的 ros, kalibr, 或者matlab都行,感觉ros更方便些