当前位置:网站首页>Halcon缺陷检测
Halcon缺陷检测
2022-08-04 05:29:00 【视觉菜鸟Leonardo】
1.检测圆的最大轮廓:
(1)滤波
(2)Canny边缘分割
(3)提取轮廓
(4)按要求筛选出线段和圆弧
(5)找出最长的圆弧轮廓
(6)拟合圆,连接轮廓
(7)求得半径和坐标
*平滑
median_image(Image,ImageMedian,'square', 5, 'mirrored')
*canny边缘
edges_sub_pix(Image,edges,'canny',1,20,40)
*第一次挑选出长的轮廓,有效滤除假边缘
select_shape_xld(edges,select_edges,'area','or',2000,9999999)
*将XLD轮廓分割为直线段、圆(圆弧)、椭圆弧。
segment_contours_xld (select_edges, ContoursSplit, 'lines_circles', 5, 4, 3)
*根据轮廓点面积挑选出长的圆形轮廓
select_shape_xld(ContoursSplit,select_edges2,'area','or',4000,999999)
*根据圆度挑选轮廓
select_shape_xld(select_edges2,select_edges3,'circularity','or',0,0.15)
count_obj (select_edges3, Number)
*连接轮廓
union_cocircular_contours_xld (select_edges3, CircleContours, rad(45), rad(0), rad(45), 300, 50, 50, 'true', 10)
*利用连接的轮廓拟合圆
fit_circle_contour_xld (CircleContours, 'algebraic', -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
*拟合圆的坐标、半径
gen_contour_polygon_xld (Contour, Row, Column)如果拟合出来的圆有两段或者多段,可以去半径和坐标相对应的数组中的最大值或者平均值,如图

tuple_max(Row, roMax)
tuple_max(Column,coMax)
tuple_max(Radius,raMax)
*选取最大值矩阵
gen_circle_contour_xld(ContCircle,roMax,coMax,raMax, 0, 6.28318, 'positive', 1)
gen_circle(ContCircle,Row, Column, Radius)
reduce_domain(Image,ContCircle,ImageReduced)边栏推荐
猜你喜欢
随机推荐
[CV-Learning] Convolutional Neural Network Preliminary Knowledge
剑指 Offer 2022/7/2
【CV-Learning】目标检测&实例分割
字典特征提取,文本特征提取。
flink on yarn指定第三方jar包
剑指 Offer 2022/7/1
(十)树的基础部分(一)
(TensorFlow) - detailed explanation of tf.variable_scope and tf.name_scope
两个APP进行AIDL通信
【深度学习21天学习挑战赛】3、使用自制数据集——卷积神经网络(CNN)天气识别
Kubernetes基本入门-集群资源(二)
TensorFlow2 study notes: 7. Optimizer
(九)哈希表
(十六)图的基本操作---两种遍历
postgres recursive query
【CV-Learning】语义分割
Briefly say Q-Q map; stats.probplot (QQ map)
Vision Transformer 论文 + 详解( ViT )
属性动画的用法 以及ButterKnife的用法
剑指 Offer 2022/7/8









