精华内容
下载资源
问答
  • lines

    2017-08-18 04:57:51
    John has several lines. The lines are covered on the X axis. Let A is a point which is covered by the most lines. John wants to know how many lines cover A. Input The first line contains a single ...
  • Lines

    2017-09-28 11:44:39
    He draws several lines on the paper with n×m square grids (see the left figure). After that, he writes down the number of lines passing through every integer coordinate in a matrix (see the right ...
  • super lines for after effects
  • alien_lines

    2019-10-24 11:44:07
    alien_lines
  • Volumetric Lines.zip

    2021-08-16 09:59:06
    Volumetric Lines 3.1.0
  • lines_color(Image : Lines : Sigma, Low, High, ExtractWidth, CompleteJunctions : ) lines_facet(Image : Lines : MaskSize, Low, High, LightDark : ) lines_gauss(Image : Lines : Sigma...

    Halcon中线条提取的算子主要有:

    lines_color(Image : Lines : Sigma, Low, High, ExtractWidth, CompleteJunctions : )

    lines_facet(Image : Lines : MaskSize, Low, High, LightDark : )

    lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions : )

    其中lines_facet、 lines_gauss又可以归为同一类(从帮助文档的算子签名Signature可知这一点)。

     

    一、线条提取和边缘提取的区别

    上面三个线条提取的算子,输出的是一堆XLD;而 edges_sub_pix 这种边缘提取算子,得到的也是一堆XLD。那么它们有什么区别呢?

    举个例子说明:

    复制代码

     1 read_image (Image, 'angio-part')
     2 count_channels (Image, Channels)
     3 if (Channels == 3 or Channels == 4)
     4     rgb1_to_gray (Image, Image)
     5 endif
     6 
     7 lines_gauss (Image, Lines, 2.3, 0.0, 0.7, 'dark', 'true', 'parabolic', 'true')
     8 edges_sub_pix (Image, Edges, 'canny', 1, 5, 10)
     9 dev_set_color ('green')
    10 dev_display (Image)
    11 dev_display (Lines)

    复制代码

     

    lines_gauss和edges_sub_pix 输出的XLD的区别对比如下:

     

    相信大家已经看出了两者的区别了。

     

    图像的“边缘”指的是:图像中灰度有明显跳变的地方。如果在图中画一条“有一定宽度的线”,那么线的两侧应该都可以提取到边缘。

    而线条提取的算子(例如lines_gauss)提取的是这条“有一定宽度的线”的“骨架线”,它一般只有一根。

     

    为什么我想写一篇文章单独讲“线条提取”呢?主要因为跟我目前工作遇到的困难有关。

    公司目前在用传统算法 + 深度学习做复杂缺陷检测。如果用Halcon做缺陷检测的话,用到的无非是形态学分析、频域处理、特征筛选等等,但是对于不太明显或者难以定位分割的缺陷,Halcon就束手无策了。但是深度学习在这方面有独特的优势,它可以通过标注大量的缺陷形态,不断训练学习,从而获得对复杂缺陷的识别定位能力。

     

    但是对于“较浅且大批量出现的划痕”这种缺陷类型,深度学习也束手无策,因为它很难去逐个标注这些缺陷——一方面标注工作量太大,一方面很难准确地标注

     

    划痕,其实就是一种线条,用Halcon提供的线条提取算子,可以很轻松找出这些划痕(或线条)。

     

     

    二、lines_color

     

    算子描述为:检测有色的线条及其宽度。

    lines_color(Image : Lines : Sigma, Low, High, ExtractWidth, CompleteJunctions : )

     

    该算子从输入图像Image中提取彩色线条,并将提取的线条以亚像素XLD轮廓的形式返回Lines。

     

     

    Sigma——要应用的高斯平滑量。

    Low——磁滞阈值操作的下限阈值。

    High——磁滞阈值操作的上限阈值。

    ExtractWidth——应该提取线宽吗?(一般选择‘true’)

    CompleteJunctions——是否应该在无法提取的地方添加连接点?

     

     

    注意:

    如果使用较大的平滑量(Sigma),应相应地为“High”和“Low”选择较小的值。

    一般来说,特别是在需要提取线条宽度的时候,参数Sigma的选择应该满足Sigma >= w/1.732(w代表图像中线条的宽度(线条直径的一半)),最小允许值是Sigma >= w/2.5。例如,对于一个宽度为4个像素(直径为8个像素)的线条来说,Sigma >= 2.3是合适的参数。(4/1.732 = 2.3)

     

    下面研究一下CompleteJunctions参数的意思。它可取的值有true或者false。该参数的意思为:是否应该在无法提取的地方添加连接点?

    那它到底有什么作用呢?举例说明:

    复制代码

    1 read_image (Image, 'cable1')
    2 lines_color (Image, Lines1, 3.5, 0, 12, 'true', 'false')
    3 lines_color (Image, Lines2, 3.5, 0, 12, 'true', 'true')
    4 
    5 dev_set_color ('green')
    6 dev_clear_window ()
    7 dev_display (Lines1)
    8 dev_clear_window ()
    9 dev_display (Lines2)

    复制代码

     

    意思很明显了,当CompleteJunctions = 'true'时,会在无法提取的地方添加连接点,这样某些XLD可能会连起来。参考官方示例程序:lines_color.hdev。

     

     

    三、lines_facet

     

    算子描述为:使用小平面模型检测线条。

    lines_facet(Image : Lines : MaskSize, Low, High, LightDark : )

     

    下面的观点提炼自帮助文档:

    ① 参数LightDark确定是提取亮线还是暗线。

    ② MaskSize的值越大,图像的平滑度就越大,但可能会导致线条的局部化程度更差;MaskSize的值越小,提取的线条越短,碎片越多,但这可能会导致相当长的执行时间。

    ③ 关于取值,当Sigma=1.5时,此时大致对应于MaskSize 的值为5。

     

    但是,这个算子我们一般不用。因为如何给MaskSize、Low、High取合适的值确实是一门技术活,不好掌握,更重要的lines_gauss算子完全可以替代它,并且更易掌握。OK,忘记lines_facet吧。

     

     

    四、lines_gauss

     

    算子描述为:检测线及其宽度。

    lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions : )

     

    这里多了一个参数LineModel(其他参数前面都说过)。

     

    LineModel:提取线条的模式,有'none',  'bar-shaped',  'parabolic',  'gaussian' 四种。含义如下:

     

    对大多数应用来说,LineModel的'bar-shaped'参数是正确的选择,'parabolic'参数常用来提取边缘比较锐利的线条(比如背光照明的图像中的线条),'gaussian'则在线条边缘不那么锐利的时候使用。参数LineModel仅在参数ExtractWidth被设置为'true'时才有意义。

     

    上图中,可以看出'parabolic'图示中,箭头指向的过渡处过渡陡峭(适合提取锐利的线条)。而'gaussian'图示中,箭头指向的过渡处过渡平滑(适合提取边缘平滑的线条)。

     

    其实lines_gauss算子的参数是最多的,因此参数如何正确取值一点都不简单。但是很明显,官方偏爱lines_gauss这个算子,它们开发了calculate_lines_gauss_parameters算子。

     

    calculate_lines_gauss_parameters( : : MaxLineWidth, Contrast : Sigma, Low, High)

    算子描述为:根据要提取的线条的最大宽度和对比度计算lines_gauss的参数Sigma、Low和High。

     

    MaxLineWidth定义要使用lines_gauss提取的线条的最大宽度。

    Contrast参数应设置为要提取的典型线条的灰度值对比度。在任何情况下都将提取具有较高对比度的所有线条。

    Contrast参数可以设为具有两个值的元组(例如[60, 10]),第二个值定义为要提取的线的最小对比度。

    第二个值不能大于第一个值。如果只给出一个值,则最小对比度默认为对比度/3.0。

    最小对比度的值越小,线条越长,线条延伸到对比度低的区域;值越高,线条越短,但线条越突出。

     

    还是以前面的图为例:

    复制代码

     1 read_image (Image, 'angio-part')
     2 count_channels (Image, Channels)
     3 if (Channels == 3 or Channels == 4)
     4     rgb1_to_gray (Image, Image)
     5 endif
     6 
     7 calculate_lines_gauss_parameters (8, [10,4], Sigma, Low, High)
     8 lines_gauss (Image, Lines, Sigma, Low, High, 'dark', 'true', 'parabolic', 'true')
     9 
    10 dev_set_color ('green')
    11 dev_display (Image)
    12 dev_display (Lines)

    复制代码

     

    由前文可知,对于线条提取,我们只需要掌握lines_colorlines_gauss这两个算子即可。

    展开全文
  • jsonlines jsonlines是一个Python库,用于简化和数据的使用。 文档: : Python封装索引(PyPI): ://pypi.python.org/pypi/jsonlines/ 源代码和问题跟踪器: :
  • simple_pro_lines

    2021-09-02 18:17:42
    simple_pro_lines
  • Lines - 人类的结构化日志 格式的 ruby​​ 实现。 状态:工作正在进行中 例子 require 'lines' Lines . dump ( foo : 3 ) #=> "foo=3" Lines . load ( "foo=3" ) #=> {"foo"=>3} 用途 CLI 管道格式 结构化日志 ...
  • counts source lines in project files
  • thin lines字体下载

    2019-10-24 04:56:44
    thin lines字体下载是一款英文设计字体
  • 500 Lines or Less

    2018-05-10 19:55:38
    500 Lines or Less,python开源项目大集合,适合python进阶 500 Lines or Less,python开源项目大集合,适合python进阶
  • In this paper, we propose a novel palmprint verification approach based on principal lines. In feature extraction stage, the modified finite Radon transform is proposed, which can extract ...
  • cool lines pattern from open processing
  • datalines与datalines4语句详解

    千次阅读 2017-09-19 22:57:34
    datalines与datalines4语句详解 datalines语句 cards或datalineslines 一样的,标志数据块的开始,单独占一行。 该语句必须是数据步的最后一条语句。 例如: data mydb.student; input id name $ sex $ ...
    datalines与datalines4语句详解

    datalines语句
    cards或datalines或lines 一样的,标志数据块的开始,单独占一行。
    该语句必须是数据步的最后一条语句。

    例如:
    data mydb.student;
    input id name $ sex $ score;
    cards;
    101 张三 男 98
    102 李四 男 87
    103 兰兰 女 95
    ;
    run;

    datalines4语句
    如果数据行本身包含分号,可以使用 datalines4语句来完成。也可以使用该语句的别名为cards4或lines4。
    datalines4语句必须使用4个连续的分号开始的一行来标记数据行结束。

    例如:
    data a;
    input id name $;
    cards4; 
    *lines4;
    *datalines4
    1 a;b
    2 c;d
    ;;;;
    run;
    proc print;

    run;


    展开全文
  • vhline_lines_matlab_源码

    2021-09-30 08:01:52
    Draws horizontal/vertical lines in graphs. Accept axes handle and allows user to specify label posit
  • 用于.lines二进制文件的非官方解析器 目前只有基本的渲染器有效,但输出可用 正在安装 该包是可用的NPM,您可以安装通过NPM: npm install lines-parser或纱: yarn add lines-parser 如何使用 以下命令将在...
  • vim onelines to two lines

    千次阅读 2017-02-16 09:59:53
    one line to two lines%s:\v(.).*:&^M& ctrl+v+ enter button= ^M

    one line to two lines

    %s:\v(.).*:&^M&

     

     

    ctrl+v+ enter button= ^M

    展开全文
  • We have theoretically designed and experimentally observed free-space propagation of topological singular lines of cylindrical vector optical fields with non-integer topological charges. The ...
  • Fourier's Lines

    2017-10-09 08:13:22
    In one letter written to Bonard, Fourier asked a question: how to draw 17 lines on a plane to make exactly 101 crossings, where each crossing belongs to exactly two lines. Obviously, this is an easy ...
  • Particle Lines v2.0.2
  • halcon中lines_color,lines_gauss

    千次阅读 2018-08-21 11:56:27
    lines_color,lines_gauss lines_color:提取有颜色的线的轮廓及宽度; lines_gauss:提取较弯曲或灰度的线的轮廓及宽度。 为了显示轮廓及线宽,通常要用: get_contour_attrib_xld (Line, ‘width_right’, ...

    lines_color,lines_gauss

    lines_color:提取有颜色的线的轮廓及宽度;
    lines_gauss:提取较弯曲或灰度的线的轮廓及宽度。
    为了显示轮廓及线宽,通常要用:
    get_contour_attrib_xld (Line, ‘width_right’, WidthR)
    get_contour_attrib_xld (Line, ‘width_left’, WidthL)
    EdgeRR := Row + cos(Angle) * WidthR
    EdgeRC := Col + sin(Angle) * WidthR
    EdgeLR := Row - cos(Angle) * WidthL
    EdgeLC := Col - sin(Angle) * WidthL
    gen_contour_polygon_xld (EdgeR, EdgeRR, EdgeRC)
    gen_contour_polygon_xld (EdgeL, EdgeLR, EdgeLC)
    或者:
    get_contour_xld (Line, Row, Col)
    get_contour_attrib_xld (Line, ‘angle’, Angle)
    get_contour_attrib_xld (Line, ‘width_left’, WidthL)
    get_contour_attrib_xld (Line, ‘width_right’, WidthR)
    RowR := Row + cos(Angle) * WidthR * sqrt(0.75)
    ColR := Col + sin(Angle) * WidthR * sqrt(0.75)
    RowL := Row - cos(Angle) * WidthL * sqrt(0.75)
    ColL := Col - sin(Angle) * WidthL * sqrt(0.75)
    disp_polygon (WindowID, RowL, ColL)
    disp_polygon (WindowID, RowR, ColR)

    类似于下面这样:
    lines_color
    lines_gauss


    展开全文
  • lines-engine:Lines是Rails的可自定义博客框架。 它旨在使发布变得简单而美观
  • Lines_Of_Action-源码

    2021-03-07 07:56:18
    Lines_Of_Action
  • Wave Lines Live Wallpaper Unobstrusive Android live wallpaper showing slowly moving wave lines. You may choose a theme, build your own, change if the lines should change width or have a uniform width...
  • Extracting Straight Lines

    2011-02-22 17:20:15
    Extracting Straight Lines---line detection edge detection
  • HALCON算子函數Chapter 8: Lines
  • 500lines代码,供学习

    2018-05-05 11:03:05
    500lines,开源程序架构,旨在用500行之内的代码来完成一个项目,python的入门级神书
  • PyCharm - 自动缩进代码 (Auto-Indent Lines) 1. Ctrl + A 全选代码。 2. Code -> Auto-Indent Lines 自动缩进快捷键 Ctrl + Alt + I。 References
  • Nexus and Dirac lines in topological materials。Nexus and Dirac lines in topological materials

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 617,829
精华内容 247,131
关键字:

lines