设为首页收藏本站
授权版本:2024_07
开启左侧

多模板例子分享

[复制链接]
月的窗棂_D 发表于 2022-2-19 20:21:09 | 显示全部楼层 |阅读模式
  1. dev_close_window ()
  2. read_image (Image, '../../Images/Demo.BMP')//读取图像
  3. rgb1_to_gray (Image, Image)
  4. get_image_size (Image, Width, Height)
  5. dev_open_window_fit_image(Image, 0,0,Width,Height,WND)
  6. dev_display (Image)

  7. *-------------------------------------------------
  8. dev_set_draw ('margin')//设置轮廓
  9. dev_set_line_width (3)//设置线宽
  10. ModelIds := []

  11. NumLevels := 4   //金字塔层数'auto'
  12. AngleStart := rad(-10)  //识别起始角度
  13. AngleExten := rad(20)  //识别角度范围
  14. AngleStep := 'auto'   //角度步长
  15. Metric := 'ignore_global_polarity' //图像与模型是颠倒(反相)的,也能够被识别

  16. *-------------------------------------------------
  17. *模板1
  18. dev_set_color ('red')
  19. draw_rectangle1 (WND, Row11, Column11, Row12, Column12)
  20. gen_rectangle1 (Rectangle1, Row11, Column11, Row12, Column12)
  21. reduce_domain (Image, Rectangle1, ImageReduced1)//按区域缩小图像
  22. *创建NCC匹配模型
  23. create_ncc_model (ImageReduced1, NumLevels, AngleStart, AngleExten, AngleStep, Metric, ModelID)
  24. ModelIds := [ModelIds,ModelID]

  25. *-------------------------------------------------
  26. *模板2
  27. dev_set_color ('green')
  28. draw_rectangle1 (WND, Row21, Column21, Row22, Column22)
  29. gen_rectangle1 (Rectangle2, Row21, Column21, Row22, Column22)
  30. reduce_domain (Image, Rectangle2, ImageReduced2)//按区域缩小图像
  31. *创建NCC匹配模型
  32. create_ncc_model (ImageReduced2, NumLevels, AngleStart, AngleExten, AngleStep, Metric, ModelID)
  33. ModelIds := [ModelIds,ModelID]

  34. *-------------------------------------------------
  35. *模板3
  36. dev_set_color ('green')
  37. draw_rectangle1 (WND, Row31, Column31, Row32, Column32)
  38. gen_rectangle1 (Rectangle3, Row31, Column31, Row32, Column32)
  39. reduce_domain (Image, Rectangle3, ImageReduced3)//按区域缩小图像
  40. *创建NCC匹配模型
  41. create_ncc_model (ImageReduced3, NumLevels, AngleStart, AngleExten, AngleStep, Metric, ModelID)
  42. ModelIds := [ModelIds,ModelID]

  43. *-------------------------------------------------

  44. MinScore := 0.6   //最小匹配值
  45. NumMatches := 30    //[1,1,2]   //最多可识别的数量
  46. MaxOverlap := 0  //遮盖系数
  47. NumLevels := 4    //金字塔层数

  48. tuple_length(ModelIds, lens)
  49. for i := 0 to lens-1 by 1  
  50.     set_ncc_model_param (ModelIds[i], 'timeout', 10000)//超时ms
  51. endfor

  52. *匹配图像目标
  53. count_seconds (Seconds1)
  54. find_ncc_models (Image, ModelIds, AngleStart, AngleExten, MinScore, NumMatches, MaxOverlap, 'true', NumLevels, Row, Column, Angle, Score, Model)
  55. count_seconds (Seconds2)
  56. *从点和角度方面计算一个严格的仿射变换

  57. *-------------------------------------------------
  58. dev_display (Image)//显示图像
  59. if (Score =[])
  60.     disp_message (WND, '查找失败,没有找出目标 ', 'image', 12, 12, 'black', 'true')
  61. else
  62.     dev_display (Image)//显示图像
  63.     gen_cross_contour_xld (Cross, Row, Column, 16, Angle)
  64.     disp_message (WND, '模版匹配值: '+ Score$'4.2f', 'image', 10, 12, 'red', 'true')
  65. endif

  66. disp_message (WND,  '共耗时: ' + 1000*(Seconds2-Seconds1)+'ms', 'image', 10, 200, 'blue', 'true')

  67. stop()
  68. dev_clear_window()
  69. dev_display (Image)[/i]
复制代码
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
zrp785962235 发表于 2023-7-18 20:04:48 | 显示全部楼层
向老师学习
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Yanlf 发表于 2023-7-19 07:54:49 | 显示全部楼层
向前辈学习一下
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
老老常 发表于 2023-7-19 09:15:19 | 显示全部楼层
又学习了一招
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表