图像分割的标准可以是像素的灰度、边界、几何形状、颜色、甚至是纹理。
[Halcon] 图像、区域和轮廓相互转化_Loewen丶的小窝-CSDN博客_halcon区域转轮廓
halcon学习笔记——(12)图像分割_liuxiaomao1988的专栏-CSDN博客
一、阈值处理
是以像素灰度值为标准的图像分割技术。
全局阈值:
基于直方图的自动阈值分割法:
自动全局阈值分割法:
局部阈值分割法:
全局阈值:
read_image(Image,'E:/C/Halcon/1.jpg')
rgb1_to_gray(Image,GrayImage)
threshold(GrayImage,DarkArea,100,255)
#区域转化为图像 255区域显示的值 0背景值
region_to_bin(DarkArea,BinImage,200,0,512,512)
基于直方图的自动阈值分割法:
以灰度直方图的波谷为分割点,对灰度直方图的波峰进行分割。有多少波峰就会分割出多少个区域。
#图像分割
read_image(Image,'E:/C/Halcon/1.jpg')
rgb1_to_gray(Image,GrayImage)
#threshold(GrayImage,DarkArea,100,255)
auto_threshold(GrayImage,DarkArea,5)
自动全局阈值分割法:也是对波峰波谷分割,但可选择分割方法:最大类间方差法或平滑直方图法{’max_separability’, ’smooth_histo’}
#图像分割
read_image(Image,'E:/C/Halcon/1.jpg')
rgb1_to_gray(Image,GrayImage)
#threshold(GrayImage,DarkArea,100,255)
#auto_threshold(GrayImage,DarkArea,5)
binary_threshold(GrayImage,DarkArea,'max_separability','dark',UsedThreshold)
局部阈值分割法:适用于一些无法用单一灰度进行分割的情况,如:背景灰度比较复杂,有的部分比前景目标亮有的暗或者前景包含多种灰度。
其他阈值分割方法:
二、区域生长法
将灰度值相近的区域合并成同一个区域。
regiongrowing(image,regions,row,column,tolerance,minsize)
三、分水岭算法
通过寻找区域的分界线,对图像进行分割。
watershed(Image,Basins,Watersheds)