• Halcon学习:简单目标检测(人脸识别)


    此代码只是简单的实现了框选物的检测追踪。基本逻辑是基于相关性的模板匹配。如果有人脸识别库的话,可以进行人脸识别。以后会完善代码实现实时的目标追踪。

     1 *此文件夹含有多张相似的实拍图,用于检测算法的模板追踪
     2 list_files ('C:/Users/zx80-165/Desktop/模板追踪图', 'files', ImageFiles)
     3 l:=|ImageFiles|
     4 read_image (Image, 'C:/Users/zx80-165/Desktop/1212.bmp')
     5 get_image_size (Image, Width, Height)
     6 dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle1)
     7 dev_display (Image)
     8 disp_message (WindowHandle1, '请创建模板并以鼠标右击结束', 'window', -1, -1, 'white', 'false')
     9 *鼠标左键框选目标模板,右键确定
    10 draw_rectangle1 (WindowHandle1, Row1, Column1, Row2, Column2)
    11 gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
    12 area_center (Rectangle, Area, Row, Column)
    13 orientation_region (Rectangle, Phi)
    14 reduce_domain (Image, Rectangle, ImageReduced)
    15 create_ncc_model (ImageReduced, 'auto', -0.39, 0.79, 'auto', 'use_polarity', ModelID)
    16 dev_set_draw ('margin')
    17 dev_set_line_width (1)
    18 *循环图片寻找相似的模板
    19 for i := 1 to l-1 by 1
    20     
    21     read_image (Image1, ImageFiles[i])
    22     find_ncc_model (Image1, ModelID, -0.39, 0.78, 0.8, 1, 0.5, 'true', 0, Row3, Column3, Angle, Score)
    23     
    24     len:=|Row3|
    25     if(len!=0)
    26     vector_angle_to_rigid (Row, Column, Phi+rad(90), Row3, Column3, Angle, HomMat2D)
    27     affine_trans_region (Rectangle, RegionAffineTrans, HomMat2D, 'nearest_neighbor')
    28     dev_display (Image1)
    29     dev_display (RegionAffineTrans) 
    30     else
    31 32     dev_display (Image1)
    33     disp_message (WindowHandle1, '没有识别到', 'window', -1, -1, 'white', 'false')
    34 35     endif
    36 
    37 endfor

     

     

  • 相关阅读:
    Python 基础之函数初识与函数参数
    python 基础之浅拷贝与深拷贝
    Python 基础之集合相关操作与函数和字典相关函数
    Python 基础之字符串操作,函数及格式化format
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
  • 原文地址:https://www.cnblogs.com/zxl971213/p/13691509.html
Copyright © 2020-2023  润新知