当前位置:网站首页>Halcon's practice based on shape template matching [2]
Halcon's practice based on shape template matching [2]
2022-07-05 07:56:00 【BoomBiuBiu】
Reprint here with code , The result is the same as that displayed by the matching assistant
* Image Acquisition 01: Code generated by Image Acquisition 01
* Turn on camera
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] Web Camera', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
* Create a template , First show the pictures captured by the camera grab_image_start (AcqHandle, -1)
grab_image_async (Image, AcqHandle, -1)
* use ROI Draw a rectangle
gen_rectangle2 (ROI_0, 291.907, 1059.07, rad(-90), 138.921, 92.1362)
* Cutout
reduce_domain (Image, ROI_0, ImageReduced)
* The starting angle and ending angle are determined by 0-0 Change it to rad(0)-rad(360)
* Create a template
create_scaled_shape_model (ImageReduced, 'auto',rad(0), rad(360), 'auto', 0.9, 1.1, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
* Or the outline of the template
get_shape_model_contours (Model, ModelID, 1)
* Set the color
dev_set_color ('red')
* Set the line width
dev_set_line_width (3)
while (true)
grab_image_async (Image, AcqHandle, -1)
* The starting angle and ending angle are changed to rad(0)-rad(360)
* Find template
find_scaled_shape_model (Image, ModelID, rad(0), rad(360), 0.9, 1.1, 0.5, 10, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Scale, Score)
* Judge whether there is a target in the area , Otherwise, an error will be reported
if(|Score|>0)
* Target by target
for I := 0 to |Score| - 1 by 1
* Unit matrix
hom_mat2d_identity (HomMat2DIdentity)
* Translation matrix
hom_mat2d_translate (HomMat2DIdentity, Row[I], Column[I], HomMat2DTranslate)
* Rotation matrix
hom_mat2d_rotate (HomMat2DTranslate, Angle[I], Row[I], Column[I], HomMat2DRotate)
* Zoom matrix
hom_mat2d_scale (HomMat2DRotate, Scale[I], Scale[I], Row[I], Column[I], HomMat2DScale)
* Show the outline
affine_trans_contour_xld (Model, ModelTrans, HomMat2DScale)
dev_display (Image)
dev_display (ModelTrans)
endfor
endif
endwhile
* Turn off camera
close_framegrabber (AcqHandle)result :

notes : The affine transformation here can be replaced by other operators
* Unit matrix
hom_mat2d_identity (HomMat2DIdentity)
* Translation matrix
hom_mat2d_translate (HomMat2DIdentity, Row[I], Column[I], HomMat2DTranslate)
* Rotation matrix
hom_mat2d_rotate (HomMat2DTranslate, Angle[I], Row[I], Column[I], HomMat2DRotate)
* Zoom matrix
hom_mat2d_scale (HomMat2DRotate, Scale[I], Scale[I], Row[I], Column[I], HomMat2DScale)
*-----------------------
* The following operators can be used instead
vector_angle_to_rigid (0, 0, 0, Row[I], Column[I], Angle[I], HomMat2D1)
* Zoom matrix
hom_mat2d_scale (HomMat2D1, Scale[I], Scale[I], Row[I], Column[I], HomMat2DScale)result :


边栏推荐
- Count and sort the occurrence times of specific fields through SQL statements
- Use of orbbec Astra depth camera of OBI Zhongguang in ROS melody
- Screen record of the opening ceremony of the Beijing winter olympics 2
- Interview catalogue
- RF ride side door processing of prompt box
- Consul安装
- Network port usage
- Day08 ternary operator extension operator character connector symbol priority
- Embedded AI intelligent technology liquid particle counter
- Oracle triggers and packages
猜你喜欢

Drive LED -- GPIO control

Embedded AI intelligent technology liquid particle counter

How to migrate the device data accessed by the RTSP of the easycvr platform to easynvr?
![[untitled] record the visual shock of the Winter Olympics and the introduction of the display screen](/img/43/7f8becc09c5ce7fe401bed140608f3.jpg)
[untitled] record the visual shock of the Winter Olympics and the introduction of the display screen

LED display equipment records of the opening ceremony of the Beijing Winter Olympics

Makefile application

Network port usage

生产中影响滑环质量的因素

Mlperf training v2.0 list released, with the same GPU configuration, the performance of Baidu PaddlePaddle ranks first in the world

找不到实时聊天软件?给你推荐电商企业都在用的!
随机推荐
The browser cannot access Baidu
Global and Chinese market of core pallets 2022-2028: Research Report on technology, participants, trends, market size and share
[popular science] some interesting things that I don't know whether they are useful or not
Latex notes
Ads learning record (lna_atf54143)
A simple method to prove 1/t Fourier transform
Count and sort the occurrence times of specific fields through SQL statements
Network communication model -- Network OSI tcp/ip layering
Realization of binary relation of discrete mathematics with C language and its properties
2021-10-28
Function and usage of function pointer
UEFI development learning 6 - creation of protocol
Some errors in configuring the environment
Global and Chinese market for blood typing 2022-2028: Research Report on technology, participants, trends, market size and share
Win10 shortcut key
About the problem that MySQL connector net cannot be cleared in MySQL
万字详解八大排序 必读(代码+动图演示)
Altium designer 19.1.18 - Import frame
Factors affecting the quality of slip rings in production
C WinForm [display real-time time in the status bar] - practical exercise 1