一种简易标定:
像素比例标定,如果需要精确一些则需要在高度和宽度上都需要计算,然后求出比例系数。需要高精度标定板和相机,以及多次标定才能达到稳定的状态,这种标定简单,但是误差大。
read_image (Img0008, 'D:/00项目代码/000视觉软件/02Halocn算法20190501/04测量20190424/07_比例计算测量标定/IMG0008.jpg')
rgb1_to_gray (Img0008, GrayImage)
gen_rectangle1 (ROI_0, 357, 725.95, 409, 793.375)
gen_rectangle1 (ROI_1, 359.167, 880.375, 409, 939.1)
reduce_domain (GrayImage, ROI_0, ImageReduced0)
reduce_domain (GrayImage, ROI_1, ImageReduced1)
binary_threshold (ImageReduced0, Region0, 'max_separability', 'dark', UsedThreshold)
binary_threshold (ImageReduced1, Region1, 'max_separability', 'dark', UsedThreshold1)
area_center (Region0, Area, Row0, Column0)
area_center (Region1, Area, Row1, Column1)
distance_pp (Row0, Column0, Row1, Column1, Distance)
p_d := 152.405
d_D := 10/p_d
gen_region_line (ROI_00, 382.579, 408.269, 382.579, 462.1)
gen_region_line (ROI_01, 536.876, 409.9, 536.876, 492.55)
gen_contour_region_xld (ROI_00, Contours0, 'border')
gen_contour_region_xld (ROI_01, Contours1, 'border')
get_contour_xld (Contours1, Row, Col)
distance_pl (Row, Col, 382.579, 408.269, 382.579, 462.1, Distance1)
dis_resl := d_D * Distance1
dev_display (Img0008)
dev_display (ROI_00)
dev_display (Contours1)
dev_display (Region0)
dev_display (Region1)
disp_arrow (3600, 537, 430, 380, 430, 1)
disp_arrow (3600, 380, 430, 537, 430,1)
disp_message (3600,'宽度(mm):'+dis_resl, 'image',123,-70,'red', 'false')