灰度投影检测线缺陷:
read_image (Line, 'E:/桌面/第五讲附件/line.bmp')
//计算水平和竖直灰度值投影:
gray_projections(Line,Line,'simple', HorProjection, VertProjection)
//根据Y值序列创建函数:
create_funct_1d_array(VertProjection,Function)
//通过多次应用均值滤波器来平滑一维函数
smooth_funct_1d_mean(Function, 25, 3, SmoothedFunction)
//得到一个函数的X,Y值
funct_1d_to_pairs(SmoothedFunction, XValues, YValues)
//求差值
sub:=(YValues-VertProjection)
//在作用符号函数后的差值数组中找1并返回位置
aa:=find(sgn(sub-1),1)
// #为不等于的意思
if(aa[0]#-1)
//创建一个长度为 Length ,元素为 Const 的元组 Newtuple
tuple_gen_const(|aa|, 333, Newtuple)
//获取点的区域
gen_region_points(Region, Newtuple, aa)
//矩形膨胀
dilation_rectangle1(Region, RegionDilation, 1, 700)
endif
竖直光条:
read_image (Image, 'E:/桌面/第五讲附件/竖直光条.png')
//访问多声道图像的某一通道
access_channel(Image, Image1, 1)
//水平竖直灰度投影
gray_pr