dev_update_off ()
dev_close_window ()
str := 'C:/Users/Administrator/Desktop/测试图片库/'
filePath := str + '标定板-原图.bmp'
read_image (Image1, filePath)
rgb1_to_gray (Image1, Image)
* write_image (Image, 'bmp', 0, str + '拉片-原图')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width/4, Height/4, 'black', WindowHandle)
dev_display (Image)
**对图像先矫正畸变再添加畸变
* edges_sub_pix (Image, Edges, 'canny', 1, 20, 40)
* segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 20, 10)
* union_collinear_contours_xld (ContoursSplit, UnionContours, 10, 1, 2, 0.1, 'attr_keep')
* select_contours_xld (UnionContours, SelectedContours1, 'contour_length', 200, 1000, -0.5, 0.5)
* radial_distortion_self_calibration (SelectedContours1, SelectedContours, Width, Height, 0.08, 42, 'division', 'variable', 0, CamParamIn)
* get_domain (Image, Domain)
* change_radial_distortion_cam_par ('adaptive', CamParamIn, 0, CamParamOut)
* change_radial_distortion_image (Image, Domain, ImageCorrected, CamParamIn, CamParamOut)
* change_radial_distortion_cam_par ('adaptive', CamParamOut, -3.0e-6, CamParamOut1)
* change_radial_distortion_image (ImageCorrected, Domain, ImageDistortion1, CamParamOut, CamParamOut1)
inCameraParameters := [0,0,5.2e-006,5.2e-006,640,480,1280,960]
outCameraParameters := [0,0,5.2e-006,5.2e-006,640,480,1280,960]
get_domain (Image, Domain1)
for IndexDistortion := 1 to 6 by 1
change_radial_distortion_cam_par ('fullsize', inCameraParameters, -IndexDistortion*10000, outCameraParameters)
change_radial_distortion_image (Image, Domain1, ImageRectified, inCameraParameters, outCameraParameters)
tuple_string(IndexDistortion, '0' , temp1)
temp2 := [str + '畸变程度为' +temp1]
write_image (ImageRectified, 'bmp', 0, temp2)
endfor
dev_update_off ()
dev_close_window ()
str := 'C:/Users/Administrator/Desktop/测试图片库/'
filePath := str + '文字-原图.bmp'
read_image (Image1, filePath)
rgb1_to_gray (Image1, Image)
* write_image (Image, 'bmp', 0, str + '拉片-原图')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width/4, Height/4, 'black', WindowHandle)
dev_display (Image)
inCameraParameters := [0,0,5.2e-006,5.2e-006,640,480,1280,960]
outCameraParameters := [0,0,5.2e-006,5.2e-006,640,480,1280,960]
get_domain (Image, Domain1)
for IndexDistortion := 1 to 6 by 1
change_radial_distortion_cam_par ('fullsize', inCameraParameters, -IndexDistortion*5000, outCameraParameters)
change_radial_distortion_image (Image, Domain1, ImageRectified, inCameraParameters, outCameraParameters)
tupleMoving1 := gen_tuple_const(25,0)
tupleMoving1[0,6,12] := 1
convol_image (ImageRectified, ImageMoving1, [5,5,3,tupleMoving1], 'mirrored')
convol_image (ImageMoving1, ImageGauss, [3,3,16,1,2,1,2,4,2,1,2,1], 'mirrored')
gauss_distribution (IndexDistortion*3, noiseGauss)
add_noise_distribution (ImageGauss, ImageGaussNoise, noiseGauss)
sp_distribution (IndexDistortion, IndexDistortion, noiseSP)
add_noise_distribution (ImageGaussNoise, ImageSPNoise, noiseSP)
tuple_string(IndexDistortion, '0' , temp1)
temp2 := [str + '综合干扰为' +temp1]
write_image (ImageSPNoise, 'bmp', 0, temp2)
endfor