Avoid division by zero in jacobian calculation
							parent
							
								
									1640f172e6
								
							
						
					
					
						commit
						8df2c70866
					
				|  | @ -76,6 +76,9 @@ Point2 Cal3Fisheye::uncalibrate(const Point2& p, OptionalJacobian<2, 9> H1, | |||
| 
 | ||||
|   // Derivative for points in intrinsic coords (2 by 2)
 | ||||
|   if (H2) { | ||||
|     if (r2==0) { | ||||
|       *H2 = DK; | ||||
|     } else { | ||||
|       const double dtd_dt = | ||||
|           1 + 3 * k1_ * t2 + 5 * k2_ * t4 + 7 * k3_ * t6 + 9 * k4_ * t8; | ||||
|       const double dt_dr = 1 / (1 + r2); | ||||
|  | @ -99,6 +102,7 @@ Point2 Cal3Fisheye::uncalibrate(const Point2& p, OptionalJacobian<2, 9> H1, | |||
| 
 | ||||
|       *H2 = DK * DR; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   return uv; | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue