|
类型 |
几何 |
|
描述 |
从二值图像中使用霍夫变换找出满足要求的直线 |
|
语法 |
ZV_HOUGHLINE(img,lines,rho,theta,thresh,minLineLen,maxLineGap) 参数: img:ZVOBJECT类型,单通道二值图像 lines:ZVOBJECT类型,nx4矩阵,列上依次存储直线起始坐标和终点坐标 rho:累加器以像素为单位的距离精度,精度越高(值越小)越耗时,常用值1 theta:累加器以角度为单位的角度精度,精度越高(值越小)越耗时,常用值1 thresh: 累加器阈值,即识别某部分为图中的一条直线时它在累加器中必须达到的投票值。大于thresh的线段才可以被检测通过并返回到结果中 minLineLen:最低线段长度,大于此参数的线段才被检测出来 maxLineGap:共线直线上两线段端点距离小于此参数的则被认为是一条线段 |
|
适用控制器 |
支持ZV功能或者5系列以上的控制器 |
|
例子 |
ZVOBJECT img, img_bw, img_canny, dst, lines DIM row, rows ZV_READIMAGE(img,"test.png",0)'以原图像格式读取图片 ZV_THRESH(img,img_bw,120,255)'图像二值化 ZV_CANNY(img_bw,img_canny,10,200,3)'提取边缘 ZV_HOUGHLINE(img_canny,lines,1,1,30,10,10)'霍夫找线 ZV_GRAYTORGB(img_bw,dst)'二值图像转RGB rows = ZV_MATROWS(lines)'获取lines的行数 FOR row = 0 TO rows-1 ZV_MATGETROW(lines,row,4,0)'获取lines的某一行 ZV_LINE(dst,TABLE(0),TABLE(1),TABLE(2),TABLE(3),zv_color(0,255,0))'绘制直线 NEXT |