halcon学习笔记——(12)图像分割

转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/01/08/2851925.html


一,基本的图像通道知识

在图像处理中有一个很重要的概念叫图像通道,在RGB色彩模式下就是指那单独的红色、绿色、蓝色部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。

    一幅完整的图像,红色绿色蓝色三个通道缺一不可。即使图像中看起来没有蓝色,只能说蓝色光的亮度均为0,但不能说没有蓝色通道存在

    “存在、亮度为零”和“不存在”是两个不同的概念。
    一幅图像,如果关闭了红色通道,那么图像就偏青色。如果关闭了绿色通道,那么图像就偏洋红色。如果关闭了蓝色通道,那么图像就偏黄色。
这个现象再次印证了反转色模型:红色对青色、绿色对洋红色、蓝色对黄色。

    如果察看单个通道,发现每个通道都显示为一幅灰度图像(不能说是黑白图像)。某个通道的灰度图像中的明暗对应该通道色的明暗,从而表达出该色    光在整体图像上的分布情况。由于通道共有3个,所以也就有了3幅灰度图像。

    通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255

 通道中的纯黑,代表了该色光在此处完全不发光,亮度级别是0
 介于纯黑纯白之间的灰度,代表了不同的发光程度,亮度级别介于1至254之间。
 灰度中越偏白的部分,表示色光亮度值越高,越偏黑的部分则表示亮度值越低。
 现在可以明白为何通道用灰度表示了吧?因为通道中色光亮度从最低到最高的特性,正符合灰度模式那种从黑到白过渡的表示。正是因为灰度的这种特性,使得它在以后还被应用到其它地方。通道中的灰度,与颜色调板的灰度滑块是对应的。


二,单通道图像分割 
1阈值分割 
全局阈值,局部阈值法,直方图自动阈值(自适应阈值)

指定全局阈值 

threshold( Image: Region: MinGray, MaxGray)  //人工设置阈值
 
   

局部阈值法,后面再加以描述


直方图自动阈值(自适应阈值) 

auto_threshold( Image: Region:Sigma:)
//自动阈值输入必须是是单通道图像,会有多阈值分割,Sigma用于对灰度直方图进行高斯平滑,决定了平滑的程度(分割细致程度),当sigma很大时,灰度直方图基本会被平滑为只剩下一个波峰,而分割根据平滑后直方图的波谷来进行的,Sigma小,分割的越细致。

halcon学习笔记——(12)图像分割_第1张图片


三,彩色图像的分割 

decompose3
trans_from_rgb(red,green,blue,result1,result2,result3,colortypespace)
 
   

四,整理常用的提取简单结果的函数

使用感兴趣区域(Region Of Interesting,ROI)可以进一步缩小定义区域。这样可以避免处理无关区域,从而减少运算时间

 

1,设置ROI,方法是用图形窗口的设置ROI助手,然后手动画出并插入代码 

gen_rectangle1(ROI_0, *****)
 
   

2,reduce_domain用于截取所画出的ROI 

reduce_domain(fullImage,ROIarea,ReducedImage)
 
   

3,通常在threshod后,试用connection选择出连通区域,然后用面积和形状选择法选出自己关注的形状 

threshold()
connection(Region, OutputRegion)
select_shape(input,output, Requirments....)
 
   

五,其他函数:

crop_rectangle1(Image : ImagePart : Row1, Column1, Row2, Column2 : )    
// 切出一个矩形区域,Image:输入的多通道图片,ImagePart:输出的多通道图片

你可能感兴趣的:(halcon,学习)