dev_update_off ()
dev_close_window ()
* Get the image and display it
read_image (Image_slanted, 'datacode/ecc200/ecc200_to_preprocess_001')
dev_open_window_fit_image (Image_slanted, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
dev_set_color ('green')
dev_set_line_width (3)
disp_continue_message (WindowHandle, 'black', 'true')
* 变形的矩阵码的四个角的坐标
XCoordCorners := [130,225,290,63]
YCoordCorners := [101,96,289,269]
* 通过显示十字形状标识角点位置
gen_cross_contour_xld (Crosses, XCoordCorners, YCoordCorners, 6, 0.785398)
dev_display (Image_slanted)
dev_display (Crosses)
* 根据给定的角点坐标与需要映射到的角点坐标,计算齐次投影变换矩阵
* 前六个参数分别为映射前后的X,Y,Z坐标
hom_vector_to_proj_hom_mat2d (XCoordCorners, YCoordCorners, [1,1,1,1], [70,270,270,70], [100,100,300,300], [1,1,1,1], 'normalized_dlt', HomMat2D)
* 对图像进行校正
projective_trans_image (Image_slanted, Image_rectified, HomMat2D, 'bilinear', 'false', 'false')
校正前:
校正后: