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

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

3天内不再提示

Halcon基于形状匹配的人脸追踪编程分享

机器人及PLC自动化应用 来源:csdn 2023-04-24 09:38 次阅读

Halcon基于形状匹配的人脸追踪

*打开摄像头句柄AcqHandle

open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] USB2.0 HD UVC WebCam', 0, -1, AcqHandle)

*从摄像头抓取一张图片

grab_image (Image, AcqHandle)

*抓完关闭摄像头

close_framegrabber (AcqHandle)

dev_close_window ()

get_image_size (Image, Width, Height)

dev_open_window (0, 0, Width, Height, 'black', WindowHandle)

*打开一个窗口,尺寸400*400,黑色背景,句柄赋予WindowHandle

dev_set_draw ('margin')

*'margin'只显示轮廓,'fille'显示填充

dev_display (Image)

*定义数组显示提示信息

Message[0] := ' 提 示:'

Message[1] := '右键画面开始创建识别区域,按左键结束'

*显示数组中的提示信息

disp_message (WindowHandle, Message[0], 'window', 12, 12, 'red', 'true')

disp_message (WindowHandle, Message[1], 'window', 48, 12, 'black', 'true')

*继续提示语显示

disp_continue_message (WindowHandle, 'black', 'true')

draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)

*鼠标在打开的窗口绘制一个矩形,输出左上右下点的坐标

gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)

*得到一个矩形

reduce_domain (Image, Rectangle, ImageReduced)

*缩小图像的域,取image与rectangle的交集,句柄ImageReduced,诣在从原图上扣取画出的区域

*执行断点处

stop()

*准备一个可变形模型,用于平面标定匹配轮廓。

*create_planar_uncalib_deformable_model (ImageReduced, 'auto', [], [], 'auto', 1, [], 'auto', 1, [], 'auto', 'none', 'use_polarity', 'auto', 'auto', [], [], ModelID)

create_planar_uncalib_deformable_model (ImageReduced, 5, rad(0), rad(360), rad(1), 1, 1, 0.02, 1, 1, 0.02, 'none', 'use_polarity', [42,57], 10, [], [], ModelID)

*create_planar_calib_deformable_model_xld(Template::NumLevel,AngleStart,AngleExtent,AngleStep,ScaleRMin,ScaleRMax,ScaleRStep,ScaleCMin,ScaleCMax,ScaleCStep,Optimization,Metric,Contrast,MinContrast,GenParamName,GenParamValue:ModelID

*template输入模板

*NumLevels 输入金字塔最大层数(‘auto’(默认), 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

*AngleStart 在最小的旋转模式(-3.14, -1.57, -0.79, -0.39(默认), -0.20, 0.0),

*AngleExtent 在旋转的角(6.29, 3.14, 1.57, 0.79(默认), 0.39(输入条件:大于等于0))

*AngleStep 输入角度的步长(分辨率)(‘auto’(默认), 0.0175, 0.0349, 0.0524, 0.0698, 0.0873,(输入条件:(AngleStep > 0) && (AngleStep <= (pi / 16))))

*ScaleRMin行方向上的图案的最小尺度( 0.5, 0.6, 0.7, 0.8, 0.9, 1.0(默认)(输入条件:ScaleRMin > 0))

*ScaleRMax 在行方向上的图案的最大尺度(1.0(默认), 1.1, 1.2, 1.3, 1.4, 1.5(输入条件:ScaleRMax >= ScaleRMin))

*ScaleRStep 在行方向上的刻度步长(分辨率)(‘auto’(默认), 0.01, 0.02, 0.05, 0.1, 0.15, 0.2,(输入条件:ScaleCStep > 0))

*ScaleCMin 行方向上的图案的最小尺度( 0.5, 0.6, 0.7, 0.8, 0.9, 1.0(默认)(输入条件:ScaleRMin > 0))

*ScaleCStep 在列方向上的刻度步长(分辨率)(‘auto’(默认), 0.01, 0.02, 0.05, 0.1, 0.15, 0.2,(输入条件:ScaleCStep > 0))

*Optimization 一种用于生成模型的优化方法( ‘auto’(默认), ‘none’, ‘point_reduction_low’, ‘point_reduction_medium’, ‘point_reduction_high’)

*Metric ( ‘use_polarity’, ‘ignore_global_polarity’, ‘ignore_part_polarity’, ‘ignore_local_polarity’,‘ignore_color_polarity’(默认))

*Contrast 搜索图像中物体的对比度

*MinContrast 搜索图像中物体的最小对比度(1, 2, 3, 5(默认), 7, 10, 20, 30, 40)

*GenParamName 泛型参数名([],‘part_size’)

*GenParamValue 泛型参数的值( [], ‘small’, ‘medium’, ‘big’)

*ModelID 模型的句柄

get_deformable_model_contours (ModelContours, ModelID, 1)

*返回可变形模型的轮廓表示,输出:输入模板轮廓,级别1、2、3、4、5、6、7、8、9、10(Level >= 1)

*测量输入轮廓的面积与中心

area_center (Rectangle, ModelRegionArea, RefRow, RefColumn)

*仿射变换

vector_angle_to_rigid (0, 0, 0, RefRow, RefColumn, 0, HomMat2D)

*对XLD轮廓进行任意仿射2D变换

affine_trans_contour_xld (ModelContours, TransContours, HomMat2D)

dev_set_color ('green')

dev_set_draw ('margin')

dev_display (Image)

dev_display (Rectangle)

dev_display (TransContours)

stop ()

open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] USB2.0 HD UVC WebCam', 0, -1, AcqHandle)

while (true)

grab_image (Image, AcqHandle)

find_planar_uncalib_deformable_model (Image, ModelID, rad(0), rad(360), 1, 1, 1, 1, 0.5, 0, 0.5, 5, 0.75, ['subpixel'], ['least_squares_very_high'], ResultHomMat2D, Score)

dev_display (Image)

for I := 0 to |Score| - 1 by 1

TempHomMat2D := ResultHomMat2D[I*9:I*9+8]

projective_trans_contour_xld (ModelContours, TransContours, TempHomMat2D)

* 将射影变换应用于 XLD 轮廓

dev_set_color ('green')

* dev_display (TransContours)

*xld转换成region

gen_region_contour_xld (TransContours, Region, 'filled')

union1 (Region, RegionUnion)

*对区域,生成最小外接矩形

smallest_rectangle1 (RegionUnion, Row1, Column1, Row2, Column2)

*使用绿色矩形框,框选匹配结果

* dev_set_color ('green')

disp_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)

*使用红色勾画匹配结果轮廓

* stop ()

endfor

endwhile

编辑:黄飞

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

    关注

    162

    文章

    4372

    浏览量

    120319
  • HALCON
    +关注

    关注

    16

    文章

    64

    浏览量

    27224
  • 人脸追踪系统

    关注

    0

    文章

    3

    浏览量

    5999

原文标题:Halcon基于形状匹配的人脸追踪

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

收藏 人收藏

    评论

    相关推荐

    基于matlab的人脸检测K-L的人脸识别(肤色分割和特征提取)

    基于matlab的人脸检测K-L的人脸识别(肤色分割和特征提取)[hide] [/hide]《labview人脸识别》课程链接:http://url.elecfans.com/u/bc0e010da8
    发表于 02-22 16:45

    基于openCV的人脸检测系统的设计

    通过对基于Adaboost人脸检测算法的研究,利用该算法与计算机视觉类库openCV进行人脸检测系统的设计,实现了对出现在视频或图像中的人脸检测。此外,在VC++6.0环境下实现了对一个简单
    发表于 12-23 14:19

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

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

    怎样去设计一种基于STM32F407的人脸检测追踪系统

    怎样去设计一种基于STM32F407的人脸检测追踪系统?其大致思路是怎样的呢?
    发表于 10-18 06:16

    基于单片机的人脸识别追踪设计资料分享

    做的单片机项目基于单片机的人脸识别追踪大家可用于 课程设计 或 毕业设计技术解答毕设帮助:7468760412 项目简介传统图像监控设备功能非常单一,仅有图像的采集与显示功能,已经不能满足现代技术要求。本项目尝试物联网概念结合,不仅实现了包含传统的录像功能,还实现了如今同
    发表于 11-10 08:40

    基于Face++的人脸门禁系统设计资料分享

    技术关键点如下:1、智能终端通过拍照获取人脸图片信息,然后与服务器中预先录入的人脸进行比对。2、比对结果通过json字符集返回到智能终端,json字符集中confidence字段(注:人脸比对结果
    发表于 02-14 07:23

    基于HALCON的模板匹配方法总结

    推荐很早就想总结一下前段时间学习HALCON地心得,但由于其他地事情总是抽不出时间。去年有过一段时间地集中学习,做了许多地练习和实验,并对基于HDevelop地形状匹配算法地参数优化进行了研究,写了
    发表于 09-19 06:13

    基于形状上下文的人脸匹配算法

    提出一种基于形状上下文的人脸形状匹配算法。在形状匹配中,将2 个目标进行相似度比较,得到2 幅图的对数极坐标直方图的Cost 值,计算相似度
    发表于 03-30 08:44 46次下载

    基于肤色模型的人脸检测研究

    本文对基于肤色分割结合模板匹配的人脸检测方法进行了改进,提出基于“光照预处理+肤色模型+模板匹配的人脸检测解决思路,即在光照预处理的前提下
    发表于 04-02 11:09 3852次阅读
    基于肤色模型<b class='flag-5'>的人脸</b>检测研究

    Halcon9.0编程技术详解

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

    基于HALCON形状匹配算法的研究和心得总结

    HALCON提供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的
    的头像 发表于 08-28 11:48 4395次阅读

    探究halcon模板匹配干扰边缘消除办法

    强,每次换产品都要从新画模板。 最终决定使用手绘模板的方式解决这个问题。 halcon手绘形状匹配模板 手绘形状匹配模板 为了避免大家产生理
    的头像 发表于 05-29 13:42 4817次阅读

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

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

    Halcon基于形状匹配的人脸追踪

    *create_planar_calib_deformable_model_xld(Template::NumLevel,AngleStart,AngleExtent,AngleStep,ScaleRMin,ScaleRMax,ScaleRStep,ScaleCMin,ScaleCMax,ScaleCStep,Optimization,Metric,Contrast,MinContrast,GenParamName,GenParamValue:ModelID
    的头像 发表于 03-21 13:48 613次阅读

    labview联合halcon编程方法

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