1.Halcon最常用的直线检测算子,add_metrology_object_line_measure,利用Halcon封装好的模型不仅可以检测直线,还可以检测圆,椭圆,矩形等。下面介绍下其余的直线检测的算子,需要配合
skeleton (SelectedRegions, Skeleton)
gen_contours_skeleton_xld (Skeleton, Contours, 5, ‘filter’)
fit_line_contour_xld (Contours, ‘tukey’, -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
gen_region_line (RegionLines, RowBegin, ColBegin, RowEnd, ColEnd)
等算子拟合直线。
2.算子如下

  1. bandpass_image

功能:使用带通滤波器提取边缘。

  1. lines_color

功能:检测色线和它们的宽度。

  1. lines_facet

功能:使用面模型检测线。

  1. lines_gauss

功能:检测线和它们的宽度。
3.案例解释
3.1 bandpass_image

dev_close_window ()
dev_open_window (0, 0, 512, 512, ‘black’, WindowHandle)
dev_set_draw (‘margin’)
read_image (Image, ‘C:/Users/Dell/Desktop/2022_11_28_15_44_14_0588_id_36429.bmp’)
median_rect (Image, ImageMedian, 9, 9)
bandpass_image (ImageMedian, ImageBandpass, ‘lines’)
threshold (ImageBandpass, Regions, 21, 255)
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ‘area’, ‘and’, 536.53, 1000)
skeleton (SelectedRegions, Skeleton)
gen_contours_skeleton_xld (Skeleton, Contours, 5, ‘filter’)
fit_line_contour_xld (Contours, ‘tukey’, -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
gen_region_line (RegionLines, RowBegin, ColBegin, RowEnd, ColEnd)
原图

bandpass_image结果图

拟合直线

3.2 lines_color

read_image (Image, 'cable' + J)
dev_display (Image)
disp_message (WindowHandle, 'Color image', 'window', 12, 12, 'black', 'true')
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
lines_color (Image, Lines, 3.5, 0, 12, 'true', 'false')
select_contours_xld (Lines, LongLines, 'contour_length', 450, 100000, 0, 0)
原图


结果图

3.3 lines_facet
read_image (Bk45, ‘bk45’)
dev_set_colored (6)
lines_facet (Bk45, Lines, 5, 3, 5, ‘light’)
原图

结果图

3.4 lines_gauss
dev_update_off ()
dev_close_window ()
dev_close_window ()
*

  • Read an aerial image
    read_image (Image, ‘mreut4_3’)
    dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle1)
    set_display_font (WindowHandle1, 16, ‘mono’, ‘true’, ‘false’)
    dev_display (Image)
    disp_message (WindowHandle1, ‘Extract the roads from an aerial image’, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowHandle1, ‘black’, ‘true’)
    stop ()
  • Segment the image and reduce the domain
    threshold (Image, Region, 160, 255)
    reduce_domain (Image, Region, ImageReduced)
  • Detect the lines that represent the road centers
    MaxLineWidth := 5
    Contrast := 70
    calculate_lines_gauss_parameters (MaxLineWidth, Contrast, Sigma, Low, High)
    lines_gauss (ImageReduced, RoadCenters, Sigma, Low, High, ‘light’, ‘true’, ‘bar-shaped’, ‘true’)

原图

结果图

Halcon直线检测相关推荐

  1. OpenCV+python:霍夫变换与直线检测

    1,霍夫变换 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一.主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等).最基本的霍夫变换是从黑白图像中检测直线(线段). 霍夫变换最简 ...

  2. 基于梯度方向、极化变换和聚类算法的图像主特征直线检测

    基于梯度方向.极化变换和聚类算法的图像主特征直线检测 基于机器学习和图像处理的直线检测 代码主要思路: 1)借助类LSD直线检测,提取图像各个方向梯度:2)对像素中的各个梯度方向做极化变换:3)对计划 ...

  3. OpenCV标准霍夫直线检测详解

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:OpenCV学堂 霍夫直线检测 对于图像来说可以从笛卡 ...

  4. 霍夫直线检测python_opencv+python 霍夫直线检测

    参考:https://blog.csdn.net/fengjiexyb/article/details/78075888 霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,它通 ...

  5. opencv 直线检测

    直线检测必须对着边缘检测的结果二值图检测,不能对着灰度图检测 二值图和边缘检测的结果图还是不一样的, 二值图的检测结果: api: cv.HoughLines(image, rho, theta, t ...

  6. 霍夫变换直线检测基本原理

    霍夫变换直线检测基本原理hough;houghpeaks;houghlines(2) 一步一步来: 1.在白纸上画出一个直角坐标系,任意给出一个点: 2.那么,对于点(x0,y0),经过这个点的直线必 ...

  7. 霍夫变换直线检测理解

    一步一步来: 1.在白纸上画出一个直角坐标系,任意给出一个点: 2.那么,对于点(x0,y0),经过这个点的直线必定满足y0=k*x0+b,其中k是直线的斜率,b是直线的截距: 3.上式可以化成b=y ...

  8. LSD快速直线检测的原理概要及OpenCV代码实现(CV类LineSegmentDetector)

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 LSD快速直线检测算法是由Rafael Grom ...

  9. 利用霍夫变换做直线检测的原理及OpenCV代码实现

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 霍夫变换的原理大家可以参考博文 霍夫变换_tie ...

最新文章

  1. 解决在SQL Server 2000的存储过程不能调试
  2. labview简易计算机实验报告,labview实验报告..doc
  3. gscatter in matlab Scatter plot by group machine learning and statics tool box required
  4. oracle json字符串转数组,json字符串转化成json对象(原生方法)
  5. 区位码怎么知道点阵里的起始点_自身免疫疾病的GAPS起始饮食改良版
  6. Linux服务器的初步配置流程
  7. [转帖]mysql ERROR 1130 解决办法
  8. 面试题,你做了哪些事情来提升自己的沟通能力?
  9. 55 - I. 二叉树的深度
  10. web测试与app功能测试的区别
  11. “红孩儿”成中科院博士!做CTO身价过亿!
  12. vc2015静态编译方法
  13. sar图像matlab,用Matlab制作SAR仿真图像
  14. selenium tips
  15. 在SpringBoot项目中,自定义注解+拦截器优雅的实现数据的加解密!
  16. 利用MATLAB 2016a进行BP神经网络的预测(含有神经网络工具箱)
  17. Java毕设项目-医药信息管理系统
  18. Python删除字符串中的空格和特殊字符
  19. Java中Character(类型char)类及类型详解
  20. SpringCould整合oauth2

热门文章

  1. kafka接受不到数据
  2. [JQuery 学习笔记] 隐藏和显示 hide() 和 show()
  3. java批量导出txt,java easyreport 导入excel、 txt 数据批量读取(五)
  4. 残缺的苹果完美的世界 没有乔布斯世界会怎样?
  5. 链式前向星存图(有图详解)
  6. 人工智能与法律研究:知识产权与隐私保护
  7. 算法:欧几里得辗转相除法的原理
  8. 2021年安全员-A证考试内容及安全员-A证实操考试视频
  9. Linux安装JDK,MySQL,Tomcat,Redis等软件
  10. 对最近用于细粒度车辆分类的深度学习架构的系统评估