dev_update_off()
dev_close_window()
list_image_files('C:/Users/02258/Desktop/NG_条码库/datacode/test', 'default', [], ImageFiles)
for i:=1 to 9 by 1
read_image (Image, ImageFiles[i-1])
*read_image(Image, '去雾4.bmp')
rgb1_to_gray(Image, Image)
get_image_size(Image, Width, Height)
dev_open_window(0, 0, Width, Height, 'black', WindowHandle)
dev_display(Image)
disp_message(WindowHandle, '原图像', 'window', 12, 12, 'red', 'true')
count_seconds(Start)
*转换图像类型,用于后续运算
convert_image_type(Image,IxImage,'real')
*计算矩形区域内的最小灰度值
gray_erosion_rect(IxImage, DarkChannelImage, 15, 15)
*计算全球大气光成分A的值
min_max_gray(DarkChannelImage,DarkChannelImage, 0.1, Min, Max, Range)
threshold(DarkChannelImage, Region, Max, 255)
min_max_gray(Region, IxImage, 0, Min1, A, Range1)
*计算透视率预估值tx
scale_image(IxImage,ImageScaled,1/A,0)
gray_erosion_rect(ImageScaled, ImageMin, 17, 17)
scale_image(ImageMin, txImage, -0.95, 1)
*设定阈值T0,如果t<T0,则t=T0
T0:=0.6
threshold(txImage,Region1, 0, T0)
paint_region(Region1, txImage, txImage, T0, 'fill')
*求取去雾后的图像
scale_image(IxImage, ImageScaled1, 1, -A)
div_image(ImageScaled1, txImage, ImageResult, 1, A)
count_seconds(End)
Time:=End-Start
dev_open_window(0, 0+Width, Width, Height, 'black', WindowHandle1)
dev_display(ImageResult)
disp_message(WindowHandle1, '去雾图', 'window', 12, 12, 'green', 'true')
endfor