コード例 #1
0
list_ver_lines = prep.group_dots_ver_lines(list_points_ver_lines,
                                           slope_ver,
                                           dist_ver,
                                           ratio=0.1,
                                           num_dot_miss=2,
                                           accepted_ratio=0.8)
# Remove residual dots
list_hor_lines = prep.remove_residual_dots_hor(list_hor_lines, slope_hor, 2.0)
list_ver_lines = prep.remove_residual_dots_ver(list_ver_lines, slope_ver, 2.0)

# Save output for checking
io.save_plot_image(output_base + "/horizontal_lines.png", list_hor_lines,
                   height, width)
io.save_plot_image(output_base + "/vertical_lines.png", list_ver_lines, height,
                   width)
list_hor_data = post.calc_residual_hor(list_hor_lines, 0.0, 0.0)
list_ver_data = post.calc_residual_ver(list_ver_lines, 0.0, 0.0)
io.save_residual_plot(output_base + "/hor_residual_before_correction.png",
                      list_hor_data, height, width)
io.save_residual_plot(output_base + "/ver_residual_before_correction.png",
                      list_ver_data, height, width)

# Regenerate grid points after correcting the perspective effect.
list_hor_lines, list_ver_lines = proc.regenerate_grid_points_parabola(
    list_hor_lines, list_ver_lines, perspective=True)

# Calculate parameters of the radial correction model
(xcenter, ycenter) = proc.find_cod_coarse(list_hor_lines, list_ver_lines)
list_fact = proc.calc_coef_backward(list_hor_lines, list_ver_lines, xcenter,
                                    ycenter, num_coef)
io.save_metadata_txt(output_base + "/coefficients_radial_distortion.txt",
コード例 #2
0
 def test_calc_residual_hor(self):
     list_clines = post.unwarp_line_forward(self.list_dlines, self.x0,
                                            self.y0, self.list_ffact)
     list_res = post.calc_residual_hor(list_clines, self.x0, self.y0)
     error = np.max(list_res[:, 1])
     self.assertTrue(error < 0.5)