0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Halcon图像纠正编程

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-06-02 14:24 次阅读

3d436ea8-fc13-11ed-90ce-dac502259ad0.png

*关闭当前显示窗口,清空屏幕

dev_close_window ()

*读取测试图像

read_image (Image_display, 'data/display.jpg')

*将图像转化为灰度图像

rgb1_to_gray (Image_display, GrayImage)

*获取图像的尺寸

get_image_size(Image_display,imageWidth, imageHeight)

*新建显示窗口,适应图像尺寸

dev_open_window (0, 0, imageWidth, imageHeight, 'black', WindowHandle1)

dev_display (GrayImage)

*初始化角点坐标

XCoordCorners := []

YCoordCorners := []

*阈值处理,提取较暗的区域

threshold(GrayImage,DarkRegion,0, 80)

*分离不相连的区域

connection (DarkRegion, ConnectedRegions)

*选择面积最大的暗色区域,即屏幕区域

select_shape_std (ConnectedRegions, displayRegion, 'max_area', 70)

*裁剪屏幕区域

reduce_domain (GrayImage, displayRegion, displayImage)

*创建边缘轮廓

gen_contour_region_xld (displayRegion, Contours, 'border')

*将轮廓分割为边

segment_contours_xld (Contours, ContoursSplit, 'lines', 5, 4, 2)

*获取边的数量

count_obj (ContoursSplit, Number)

*存储每条边的起点位置

for index:=1 to Number by 1

select_obj(ContoursSplit, ObjectCurrent, index)

*拟合每条边

fit_line_contour_xld (ObjectCurrent, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)

*存储每条边的顶点x坐标

tuple_concat (XCoordCorners, RowBegin, XCoordCorners)

*存储每条边的顶点y坐标

tuple_concat (YCoordCorners, ColBegin, YCoordCorners)

endfor

* 投影变换给四个特征点与校正后的坐标建立关联

XOff:= 100

YOff:= 100*imageHeight/imageWidth

hom_vector_to_proj_hom_mat2d (XCoordCorners, YCoordCorners, [1,1,1,1], [YOff,YOff,imageHeight-YOff,imageHeight-YOff], [XOff,imageWidth-XOff,imageWidth-XOff,XOff], [1,1,1,1], 'normalized_dlt', HomMat2D)

*投影变换

projective_trans_image (Image_display, Image_rectified, HomMat2D, 'bilinear', 'false', 'false')

* 显示校正结果

dev_display (Image_rectified)

3da57e7c-fc13-11ed-90ce-dac502259ad0.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7443

    浏览量

    163543
  • RGB
    RGB
    +关注

    关注

    4

    文章

    797

    浏览量

    58345
  • dev
    dev
    +关注

    关注

    0

    文章

    7

    浏览量

    3284

原文标题:Halcon 图像纠正编程

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NI视觉图像halcon图像

    labview采集图片可用用它转halcon,就可用使用halcon算子处理了
    发表于 02-21 16:35

    labview联合Halcon,实时采集的图像应该如何传入?

    labview联合Halcon,实时采集的图像应该如何传入?
    发表于 06-25 00:57

    halcon与LabVIEW Vision混合编程接口问题

    各位大大, 之前一直在用LabVIEW Vision做图像处理,最近在学习halconhalcon里面的一些算子的功能比较强大,想通过halcon和Vision的混合
    发表于 06-29 11:13

    Labview里面使用Halcon的函数。 方式为:直接。运行后缀为hdev 的Halcon程序

    Labview里面使用Halcon的函数。 方式为:直接。运行后缀为hdev 的Halcon程序Halcon是由MVTec这个公司开发的。这家公司对自己有非常清晰的定位,他们就是图像
    发表于 08-15 16:38

    求助:labview与halcon之间的对象转换

    labview的视觉模块的识别率确实没有halcon的厉害,但是labview写程序却比halcon+.NET方便,于是在labview中调用halcon编程。有个问题需要向各位请教
    发表于 08-24 09:32

    labview调用halcon程序如何传入参数?

    各位大神,labview调用halcon的hdev程序时,如何给halcon传入参数?比如传入图像,labview如何获取这个传入参数的接口?比如我的hdev程序是这样的我需要传入Image给hdev程序,但是不知道在labvi
    发表于 05-12 22:43

    基于HALCON图像拼接的文物修复系统设计与实现

    设计了一种基于机器视觉软件MVTec HALCON图像拼接技术的文物修复系统.该系统首先对图像进行去噪,分割等预处理,然后利用Harris算法进行角点检测提取特征点,接着检测出的角点经
    发表于 06-06 10:52 0次下载

    Halcon9.0编程技术详解

    Halcon9.0编程技术详解Halcon9.0编程技术详解
    发表于 12-22 15:20 0次下载

    纠正10个有关编程的常见误区

    编程行业,一直流传着很多误区。下面让我们一起来纠正10个有关编程的常见误区,以帮助编程初学者或有志成为程序员的人,更理性地认识编程
    的头像 发表于 02-02 16:02 3326次阅读

    HALCON项目应使用哪种编程语言

    HALCON项目应使用哪种编程语言提供参考 不易的选择选择编程语言是并不容易,各有优劣和学习成本。很难在单个博客文章中对其进行详细说明。我们将尽力强调C ++和C#之间的一些差异-评估和决定必须由公司或其
    的头像 发表于 08-18 10:36 6839次阅读

    HALCON机器视觉软件有哪些优点?

    视觉集成开发环境。它节约了产品成本,缩短了软件开发周期——HALCON灵活的架构便于机器视觉,医学图像图像分析应用的快速开发。在欧洲以及日本的工业界已经是公认具有最佳效能的Machine Vision软件。
    的头像 发表于 08-25 16:03 1.1w次阅读

    labview联合halcon编程方法

    经过全网学习,终于入门了labview联合halcon编程方法,希望能帮到大家
    发表于 05-23 15:22 28次下载

    如何用halcon和C#进行联合开发

           Halcon作为一款强大的图形图像处理软件,可对工作中遇到的各种图像进行处理,同时还有功能强大的算子以及很全面的例程,作为进行处理的主程序是非常不错的。但是,halcon
    的头像 发表于 05-22 14:52 8825次阅读
    如何用<b class='flag-5'>halcon</b>和C#进行联合开发

    基于Halcon图像处理的表面缺陷检测方案

    本文采用Halcon图像处理软件来搭建工业标签表面缺陷检测的检测系统,主要检测过程为:利用工业相机对传送带上待检的工业标签进行图像采集和预处理,最后通过模板配准检测出缺陷所在的区域。
    发表于 07-13 12:19 1426次阅读
    基于<b class='flag-5'>Halcon</b><b class='flag-5'>图像</b>处理的表面缺陷检测方案

    Halcon和Opencv图像处理库对比

    在工业视觉领域属于经常使用的软件,相对于opencv的开源精神Halcon属于商业非开源项目并且收费。Halcon起源于德国在国内的工业视觉领域市场占用率遥遥领先。
    的头像 发表于 12-20 10:30 958次阅读