精华内容
下载资源
问答
  • 1、reduce_domain(Image, Region : ImageReduced : : ) 在用reduce_domain这个算子时,一般会先对要保留的区域膨胀下 ... dilation_circle (RegionClipped, RegionDilation, 2.5) reduce_domain ...

    1、reduce_domain(Image, Region : ImageReduced : : )

          在用reduce_domain这个算子时,一般会先对要保留的区域膨胀下 

                      dilation_circle (RegionClipped, RegionDilation, 2.5)
                       reduce_domain (Image, RegionDilation, ImageReduced)

    2、图像处理轮廓时所处理的轮廓必须位于图中,否则轮廓转区域,不在图中的那一部分轮廓不能转为区域(第15天,34课)

    3、get_shape_model_contours(第15天,34课)

          该算子得到的模板轮廓位置位于(0,0),注意仿射变换时模板位置的设置设为(0,0)

    4、hom_mat2d_scale (HomMat2DRotate, 0.5, 0.5, 256, 256, HomMat2DScale)

          hom_mat2d_scale算子既可以缩放也可以放大,看sx和sy所设置的值,如果大于1则为扩大,如果小于1则为缩放

    dev_close_window ()
    dev_open_window (0, 0, 812, 812, 'white', WindowID)
    dev_set_color ('black')
    * Draw with the mouse an arbitrary region into the window
    draw_region (Region, WindowID)
    *创建一个齐次二维转换矩阵
    hom_mat2d_identity (HomMat2DIdentity)
    *将旋转添加到齐次二维转换矩阵中,绕点256,256旋转30度(正值为顺时针)
    hom_mat2d_rotate (HomMat2DIdentity, 30, 256, 256, HomMat2DRotate)
    *将缩放添加到齐次二维转换矩阵中,以点256,256为基点,扩大X轴0.5,Y轴扩大0.5倍
    hom_mat2d_scale (HomMat2DRotate, 0.5, 0.5, 256, 256, HomMat2DScale)
    *区域根据齐次二维转换矩阵中的参数要求进行仿射变换,坐标移动到256,256,以点(256,256为基点旋转30度)扩大0.5倍
    affine_trans_region (Region, RegionAffineTrans, HomMat2DScale, 'nearest_neighbor')
    
    dev_clear_window ()
    dev_set_draw ('margin')
    dev_set_color ('red')
    dev_display (Region)
    dev_set_color ('green')
    dev_display (RegionAffineTrans)
    dev_close_window ()
    dev_open_window (0, 0, 812, 812, 'white', WindowID)
    dev_set_color ('black')

          

    展开全文
  • HALCON示例程序count_pellets.hdev分割豆子,基本形态学的使用 这个例子是主要讲解了形态学在分割连通域当中的应用。dilation_circle 、erosion_circle 、opening_circle 。

    HALCON示例程序count_pellets.hdev分割豆子,基本形态学的使用

    示例程序源码(加注释)

    • 关于显示类函数解释
      dev_update_off ()
      read_image (Image, ‘pellets’)
      dev_close_window ()
      get_image_size (Image, Width, Height)
      dev_open_window (0, 0, Width, Height, ‘black’, WindowID)
      dev_set_part (0, 0, Height - 1, Width - 1)
      set_display_font (WindowID, 16, ‘mono’, ‘true’, ‘false’)
      dev_set_colored (6)
      dev_set_draw (‘margin’)
      dev_set_line_width (3)
      dev_display (Image)
      disp_message (WindowID, ‘Detect each single pellet’, ‘window’, 12, 12, ‘black’, ‘true’)
      disp_continue_message (WindowID, ‘black’, ‘true’)
      stop ()
    • 之前介绍binary_threshold 算子的文章
      binary_threshold (Image, LightRegion, ‘max_separability’, ‘light’, UsedThreshold)
    • 使用圆形元素进行开运算
      opening_circle (LightRegion, Region, 3.5)
      dev_display (Region)
      disp_message (WindowID, ‘First, segment the pellets’, ‘window’, 12, 12, ‘black’, ‘true’)
      disp_continue_message (WindowID, ‘black’, ‘true’)
      stop ()
    • 筛选出直接分割连通域的错误演示,因为这个时候还有豆子黏连在一起。
      connection (Region, ConnectedRegionsWrong)
      dev_display (Image)
      dev_display (ConnectedRegionsWrong)
      disp_message (WindowID, ‘Simple connection fails’, ‘window’, 12, 12, ‘black’, ‘true’)
      disp_continue_message (WindowID, ‘black’, ‘true’)
      stop ()
    • 使用圆形元素进行腐蚀运算
      erosion_circle (Region, RegionErosion, 7.5)
      dev_display (Image)
      dev_display (RegionErosion)
      disp_message (WindowID, ‘Erosion of the pellet regions’, ‘window’, 12, 12, ‘black’, ‘true’)
      disp_continue_message (WindowID, ‘black’, ‘true’)
      stop ()
    • 现在进行连通域分割
      connection (RegionErosion, ConnectedRegions)
      dev_display (Image)
      dev_display (ConnectedRegions)
      disp_message (WindowID, ‘Perform connection now’, ‘window’, 12, 12, ‘black’, ‘true’)
      disp_continue_message (WindowID, ‘black’, ‘true’)
      stop ()
    • 恢复豆子原本区域,使用圆形元素进行膨胀。
      dilation_circle (ConnectedRegions, RegionDilation, 7.5)
    • 对区域进行计数
      count_obj (RegionDilation, Number)
      dev_display (Image)
      dev_display (RegionDilation)
      disp_message (WindowID, Number + ’ pellets detected’, ‘window’, 12, 12, ‘black’, ‘true’)

    处理思路

    这个例子是主要讲解了形态学在分割连通域当中的应用。dilation_circle 、erosion_circle 、opening_circle 。

    后记

    大家有什么问题可以向我提问哈,我看到了第一时间回复,希望在学习的路上多多结交良师益友。

    展开全文
  • 使用了fast_threshold进行阈值分割,boundary并dilation_circle得到边界图像,使用edges_sub_pix进行边缘提取,select_shape_xld筛选边界,fit_rectangle2_contour_xld边界矩形拟合,gen_rectangle2_contour_xld绘制...

    HALCON示例程序find_pads.hdev通过fit_rectangle2_contour_xld绘制精准轮廓

    示例程序源码(加注释)

    • 关于显示类函数解释
      dev_update_pc (‘off’)
      dev_update_window (‘off’)
      dev_update_var (‘off’)
      read_image (Image, ‘die_pads’)
      dev_close_window ()
      get_image_size (Image, Width, Height)
      dev_open_window (0, 0, Width * 2, Height * 2, ‘black’, WindowHandle)
      dev_set_part (0, 0, Height - 1, Width - 1)
    • fast_threshold - 使用全局阈值快速阈值处理图像。
    • fast_threshold(图片:区域:最小灰度值,最大灰度值,最小阈值分割值:)
      fast_threshold (Image, Region, 180, 255, 20)
    • 分割连通域
      connection (Region, ConnectedRegions)
    • 使面积与长短轴比值筛选区域
      select_shape (ConnectedRegions, SelectedRegions, [‘area’,‘anisometry’], ‘and’, [200,1], [1200,2])
      fill_up (SelectedRegions, RegionFillUp)
    • 求取最大边界
      shape_trans (RegionFillUp, RegionTrans, ‘convex’)
    • boundary - 将区域缩小到其边界。
    • boundary(区域:区域边界:边界种类 ?
      boundary (RegionTrans, RegionBorder, ‘inner’)
    • 使用圆形元素对区域进行膨胀
      dilation_circle (RegionBorder, RegionDilation, 2.5)
      union1 (RegionDilation, RegionUnion)
    • 减少图片定义域
      reduce_domain (Image, RegionUnion, ImageReduced)
    • 求取边界
      edges_sub_pix (ImageReduced, Edges, ‘sobel_fast’, 0.5, 20, 40)
    • 使用长度筛选边界
      select_shape_xld (Edges, SelectedContours, ‘contlength’, ‘and’, 10, 200)
    • union_adjacent_contours_xld - 计算端点靠近的轮廓的并集。
    • union_adjacent_contours_xld(边缘:合并边缘:最大绝对距离,最大长度相对距离,模式:)
      union_adjacent_contours_xld (SelectedContours, UnionContours, 2, 1, ‘attr_keep’)
    • fit_rectangle2_contour_xld - 拟合XLD轮廓为矩形。
      fit_rectangle2_contour_xld (UnionContours, ‘tukey’, -1, 0, 0, 3, 2, Row, Column, Phi, Length1, Length2, PointOrder)
    • gen_rectangle2_contour_xld - 创建矩形形状的XLD轮廓。
      gen_rectangle2_contour_xld (Rectangle, Row, Column, Phi, Length1, Length2)
      dev_display (Image)
      dev_set_colored (12)
      dev_display (Rectangle)

    处理思路

    这个例子是主要讲解了如何利用边缘提取与矩形拟合进行精确定位。使用了fast_threshold进行阈值分割,boundary并dilation_circle得到边界图像,使用edges_sub_pix进行边缘提取,select_shape_xld筛选边界,fit_rectangle2_contour_xld边界矩形拟合,gen_rectangle2_contour_xld绘制边缘轮廓。

    后记
    大家有什么问题可以向我提问哈,我看到了第一时间回复,希望在学习的路上多多结交良师益友。

    展开全文
  • read_image rgb1_to_gray threshold connection select_shape opening_circle get_image_size distance_transform threshold fill_up erosion_circle skeleton junctions_skeleton dilation_circle difference gen_...

    一个halcon处理的例子

    处理要求:

    根据客户给的宽度,计算出电路宽度太窄的为NG

    原图:

    在这里插入图片描述

    处理程序:

    read_image (Image, '1.png')
    rgb1_to_gray(Image, GrayImage)
    threshold(GrayImage, Region, 130, 255)
    connection (Region, ConnectedRegions)
    select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 10000, 99999)
    opening_circle(SelectedRegions, RegionOpening, 2.5)
    get_image_size (GrayImage, Width, Height)
    distance_transform (RegionOpening, DistanceImage, 'city-block', 'true', Width, Height)
    threshold (DistanceImage, Regions, 6, 127)
    fill_up(Regions, RegionFillUp)
    erosion_circle (RegionFillUp, RegionErosion, 2.5)
    skeleton (RegionErosion, Skeleton)
    junctions_skeleton (Skeleton, EndPoints, JuncPoints)
    dilation_circle (EndPoints, RegionDilation, 10.5)
    dilation_circle (JuncPoints, RegionDilation1, 5.5)
    difference (Skeleton, RegionDilation, RegionDifference)
    difference (RegionDifference, RegionDilation1, RegionDifference1)
    gen_contours_skeleton_xld (RegionDifference1, Contours, 1, 'filter')
    union_adjacent_contours_xld (Contours, UnionContours, 50, 5, 'attr_keep')
    smooth_contours_xld (UnionContours, SmoothedContours, 23)
    select_shape_xld(SmoothedContours, SelectedXLD, 'contlength', 'and', 500, 99999)
    dev_display (GrayImage)
    dev_display (SelectedXLD)
    

    处理结果:

    在这里插入图片描述

    展开全文
  • 形态学相关算子

    千次阅读 2018-05-05 15:48:02
    1.gen_disc_se 生成椭圆结构元素2.gray_erosion 腐蚀图像3.gray_dilation 膨胀图像4.erosion_circle 圆结构元素腐蚀region5.erosion_rectanglel 矩形结构元素腐蚀region6.dilation_circle 圆结构元素膨胀region7....
  • HALCON示例程序particle.hdev测量小圆部分 这个例子是主要讲解了...threshold 、dilation_circle 、complement、reduce_domain、mean_image 、dyn_threshold 、opening_circle 、get_mbutton 、select_region_point
  • 1、图像腐蚀膨胀 read_image (Image, '素材') rgb1_to_gray (Image, GrayImage) threshold (GrayImage, Region, 128, ...dilation_circle (Region, RegionDilation, 2) *矩阵膨胀 dilation_rectangle1 (Region, Re...
  • fast_threshold、clip_region_rel 、dilation_circle、edges_sub_pix 、segment_contours_xld 、count_obj 、get_contour_global_attrib_xld 、fit_circle_contour_xld 这个例子是集边界提取、边界分割、边界拟合...
  • 4、halcon算子+圆环区域的形成

    千次阅读 2017-07-18 17:24:21
    1、算子: 画一个圆 gen_circle (Circle, 200, 200, 50) 把一个区域缩小到他的边界,即半径缩小一个像素尺寸 boundary (Circle, RegionBorder1, 'inner')...dilation_circle (RegionBorder1, RegionDilation1, Ra
  • dilation_circle (RegionTrans, RegionDilation, 8.5) reduce_domain (Image, RegionDilation, ImageReduced) inspect_shape_model (ImageReduced, ModelImages, ModelRegions, 1, 20) gen_contours_skeleton_xld...
  • 一般图像处理是针对图像做形状的改变,而形态处理则是对图像进行结构性的改变,而常见的形态处理...膨胀(dilation、dilation_rectangle1、dilation_circle)-增加像素: 把结构元素B的中心元素(origin)扫描图像...
  • 圆弧边沿识别

    千次阅读 2016-09-18 22:47:51
    boundary (RegionIntersection, RegionBorder, 'inner') //... dilation_circle (RegionBorder, RegionDilation, 3.5) //膨胀边沿,作为亚像素提取区域  union1 (RegionDilation, RegionUnion)  reduce_domain (Im
  • 圆形结构膨胀算子:dilation_circle (WiresFilled, RegionDilation, 3.5) 结构元素的中心元素在filter中只要有一个元素和目标(原来的,不实时更新)产生交集时,中心元素的值改为交集处元素。膨胀增加了元素,按照...
  • 一、简介 一般图像处理是针对图像做形状的改变,而形态处理则是对图像进行结构性的改变,而...1.1 膨胀(dilation、dilation_rectangle1、dilation_circle)-增加像素: 把结构元素B的中心元素(origin)扫描图像的每一
  • 一、简介 一般图像处理是针对图像做形状的改变,而形态处理则是对图像进行结构性的改变,...1.1 膨胀(dilation、dilation_rectangle1、dilation_circle)-增加像素: 把结构元素B的中心元素(origin)扫描图像的每一个像
  • halcon学习二

    2020-05-24 15:59:45
    read_image(image,'E:/circle.jpg') rgb1_to_gray(image,grayimage) threshold (grayimage, Regions, 23, 255) connection(Regions,connect) ...dilation_circle(SelectedRegions,regiond,2) erosion_
  • 一、简介 一般图像处理是针对图像做形状的改变,而形态处理则是对图像进行结构性的改变,...1.1 膨胀(dilation、dilation_rectangle1、dilation_circle)-增加像素: 把结构元素B的中心元素(origin)扫描图像的每一个像
  • halcon,表面检测

    2019-01-14 18:24:08
    dilation_circle (RegionClosing3, RegionDilation, 15) *补集为白色划痕区域,交集为裂缝区域 difference (RegionUnion2, RegionDilation, RegionDifference) intersection (RegionUnion2, RegionClosing3, ...
  • while例程

    2020-09-20 23:35:13
    dev_update_window (‘off’) dev_close_window () dev_open_window (0, 0, 512, 512, ‘black’, WindowID) read_image (Image, ...dilation_circle (Large, LargeDilation, 7.5)//以圆为单位进行区域膨胀 dev_dis
  • 【Halcon】Halcon笔记

    2017-08-02 16:02:57
    threshold 按设置的阙值提取图像区域。 connection 合并所有选定像素触摸相互连通区。 Select_shape 选择区域面积(属性:'面积')在指定区间内。 ...dilation_circle ( Region ,RegionDilation
  • from .binary import (binary_erosion, binary_dilation, binary_opening, ../../../virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/skimage/morphology/binary.py:6: in <...
  • 形态学相关

    2019-07-31 16:24:37
    膨胀dilation_rectangle/circle:对边界点进行扩充,填充空洞,使边界向外部扩张的过程。 腐蚀erosion_rectangle/circle:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 开运算opening_...
  • "Outlines" via dilation

    2020-12-09 00:47:52
    , via dilation, minkowski-sum, etc.: <pre><code> E.outlineWeight(20); E.beginOutline(); E.rect(100,100,100,100); E.circle(150,100,80,80); E.endOutline(); </code></pre> <p><img alt="IMG_8703" src=...
  • 膨胀腐蚀 1.gen_disc_se 功能:创建椭圆形结构元素,用于图像的腐蚀膨胀 ...4.erosion_circle 功能:使用圆形结构元素对区域region做腐蚀操作 5.erosion_rectangle1 功能:使用矩形结构元素对区...
  • self._make_circle_conv(radius) for radius in range(1, 8) ]) def _make_circle_conv(self, radius): diameter = 1 + radius * 2 a = torch.linspace(-1, 1, steps=diameter)**2 b = ...
  • GPUImage Brad Larson ...@bradlarson ... Overview The GPUImage framework is a BSD-licensed iOS library that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies...
  • 范例10-2-1 Hough Circle霍夫圆变换 321 范例10-2-2霍夫圆变换应用:距离量测使用Cam实作 324 范例10-2-3 综合应用-虚拟画笔Live版1 327 范例10-2-4 虚拟画笔Live版2 330 范例10-3-1 寻找轮廓 332 范例10-3-2 轮廓...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

dilation_circle