此例子主要是为了把光伏电池片的指纹以及划痕标注出来。
总代码:
*读取图片
read_image (Image, 'E:/研究生学习/电池片练习/手指印/截图.png')
*清除窗口
dev_clear_window ()
*打开新的窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
*获得图片的大小
get_image_size (Image, Width, Height)
*适应窗口
dev_set_part (0, 0, Height, Width)
*显示图片
dev_display (Image)
*灰度化
rgb1_to_gray (Image, GrayImage)
*图像增强
emphasize (GrayImage, ImageEmphasize, 7, 7, 1)
*二值化
threshold (ImageEmphasize, Regions, 59, 255)
*复试
erosion_rectangle1 (Regions, RegionErosion, 3, 1)
*连通域分割
connection (RegionErosion, ConnectedRegions)
*特征选择
select_shape (ConnectedRegions, SelectedRegions, 'contlength', 'and', 208.72, 848.79)
*显示图片
dev_display (Image)
*显示划痕
dev_display (SelectedRegions)
*膨胀
dilation_rectangle1 (Regions, RegionDilation, 4, 2)
*将区域绘制到图像中。【喷黑】
paint_region (RegionDilation, ImageEmphasize, ImageResult, 0, 'fill')
*图像增强
emphasize (ImageResult, ImageEmphasize1, 7, 7, 2)
*二值化
threshold (ImageEmphasize1, Regions1, 53, 255)
*闭运算
closing_circle (Regions1, RegionClosing, 10)
*连通域分割
connection (RegionClosing, ConnectedRegions1)
*特征选择
select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 6651.38, 50000)
*设置描绘方式
dev_set_draw ('margin')
*吓死图片
dev_display (Image)
*显示划痕
dev_display (SelectedRegions1)
*显示指纹
dev_display (SelectedRegions)
逐段分析:
*读取图片
read_image (Image, 'E:/研究生学习/电池片练习/手指印/截图.png')
*清除窗口
dev_clear_window ()
*打开新的窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
*获得图片的大小
get_image_size (Image, Width, Height)
*适应窗口
dev_set_part (0, 0, Height, Width)
*显示图片
dev_display (Image)
*灰度化
rgb1_to_gray (Image, GrayImage)
*图像增强
emphasize (GrayImage, ImageEmphasize, 7, 7, 1)
*二值化
threshold (ImageEmphasize, Regions, 59, 255)
*腐蚀
erosion_rectangle1 (Regions, RegionErosion, 3, 1)
*连通域分割
connection (RegionErosion, ConnectedRegions)
*特征选择
select_shape (ConnectedRegions, SelectedRegions, 'contlength', 'and', 208.72, 848.79)
*显示图片
dev_display (Image)
*显示划痕
dev_display (SelectedRegions)
*膨胀
dilation_rectangle1 (Regions, RegionDilation, 4, 2
*将区域绘制到图像中。【喷黑】
paint_region (RegionDilation, ImageEmphasize, ImageResult, 0, 'fill')
*图像增强
emphasize (ImageResult, ImageEmphasize1, 7, 7, 2)
*二值化
threshold (ImageEmphasize1, Regions1, 53, 255)
*闭运算
closing_circle (Regions1, RegionClosing, 10)
*连通域分割
connection (RegionClosing, ConnectedRegions1)
*特征选择
select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 6651.38, 50000)
*设置描绘方式
dev_set_draw ('margin')
*显示图片
dev_display (Image)
*显示划痕
dev_display (SelectedRegions1)
*显示指纹
dev_display (SelectedRegions)
原图在下方,有需要练习的小伙伴可以自取
可看第二种方法: