当前位置:网站首页>Shape template matching based on Halcon learning [VII] reuse_ model. Hdev routine
Shape template matching based on Halcon learning [VII] reuse_ model. Hdev routine
2022-07-05 07:55:00 【BoomBiuBiu】
This sample program shows how to reuse the created model .
1、 Read the picture
dev_update_window ('off')
* Read the picture
read_image (ModelImage, 'rings_and_nuts')
* Get a channel Pointer( Indicator )
get_image_pointer1 (ModelImage, Pointer, Type, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'white', WindowHandle)
dev_set_part (0, 0, Height - 1, Width - 1)
dev_display (ModelImage)
* Set some column parameters
dev_set_color ('cyan')
dev_set_draw ('margin')
dev_set_line_width (2)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
2、 Create a template
* Create a template
Row := 324
Column := 279
Radius := 60
gen_circle (ROI1, Row, Column, Radius)
gen_circle (ROI2, Row, Column, 0.5 * Radius)
* Difference set
difference (ROI1, ROI2, ModelROI)
* Cutout
reduce_domain (ModelImage, ModelROI, ImageROI)
* Create a template
create_scaled_shape_model (ImageROI, 'auto', -rad(30), rad(60), 'auto', 0.6, 1.4, 'auto', 'none', 'use_polarity', 60, 10, ModelID)
inspect_shape_model (ImageROI, ShapeModelImage, ShapeModelRegion, 1, 30)
dev_clear_window ()
dev_display (ShapeModelRegion)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
3、 The storage model ( Include XLD)
ModelFile := 'model_nut.sbm'
* Save template
write_shape_model (ModelID, ModelFile)
* Besides , We store the model area
ModelRegionFile := 'model_region_nut.png'
write_image (ImageROI, 'png', 0, ModelRegionFile)
* Clear template
clear_shape_model (ModelID)
4、 Read the model from the file
read_shape_model (ModelFile, ReusedModelID)
* Access the parameters used to create the model
get_shape_model_contours (ReusedShapeModel, ReusedModelID, 1)
get_shape_model_origin (ReusedModelID, ReusedRefPointRow, ReusedRefPointCol)
get_shape_model_params (ReusedModelID, NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Metric, MinContrast)
* Access model area
read_image (ImageModelRegion, 'model_region_nut.png')
get_domain (ImageModelRegion, DomainModelRegion)
dev_display (ImageModelRegion)
dev_display (DomainModelRegion)
stop ()
5、 Search for
read_image (SearchImage, 'rings_and_nuts')
dev_display (SearchImage)
* Begin to match
find_scaled_shape_model (SearchImage, ReusedModelID, AngleStart, AngleExtent, ScaleMin, ScaleMax, 0.65, 0, 0, 'least_squares', 0, 0.8, RowCheck, ColumnCheck, AngleCheck, ScaleCheck, Score)
for i := 0 to |Score| - 1 by 1
* Affine transformation
vector_angle_to_rigid (ReusedRefPointRow, ReusedRefPointCol, 0, RowCheck[i], ColumnCheck[i], AngleCheck[i], MovementOfObject)
hom_mat2d_scale (MovementOfObject, ScaleCheck[i], ScaleCheck[i], RowCheck[i], ColumnCheck[i], MoveAndScalingOfObject)
affine_trans_contour_xld (ReusedShapeModel, ModelAtNewPosition, MoveAndScalingOfObject)
dev_display (ModelAtNewPosition)
endfor
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
6、 Clear template
clear_shape_model (ModelID)
边栏推荐
- Win10 shortcut key
- STM32 learning method
- Rename directory in C [closed] - renaming a directory in C [closed]
- UEFI development learning 2 - running ovmf in QEMU
- How to migrate the device data accessed by the RTSP of the easycvr platform to easynvr?
- Altium designer 19.1.18 - change the transparency of copper laying
- Cadence learning records
- Define in and define out
- Train your dataset with yolov4
- Practical application cases of digital Twins - fans
猜你喜欢
Screen record of the opening ceremony of the Beijing winter olympics 2
万字详解八大排序 必读(代码+动图演示)
Openxlsx field reading problem
Practical application cases of digital Twins - fans
Altium Designer 19.1.18 - 隐藏某一个网络的飞线
C # joint configuration with Halcon
研究發現,跨境電商客服系統都有這五點功能!
mysql 盲注常见函数
Software designer: 03 database system
Use of orbbec Astra depth camera of OBI Zhongguang in ROS melody
随机推荐
Altium Designer 19.1.18 - 清除测量距离产生的信息
Factors affecting the quality of slip rings in production
Practical application cases of digital Twins - fans
Record the torch encountered by win10 cuda. is_ False problem in available()
Could NOT find XXX (missing: XXX_LIBRARY XXX_DIR)
Summary of STM32 serial port sending and receiving data methods
Cadence learning records
Altium Designer 19.1.18 - 隐藏某一个网络的飞线
QT excellent articles
TCP and UDP
Global and Chinese market of rammers 2022-2028: Research Report on technology, participants, trends, market size and share
Altium designer 19.1.18 - clear information generated by measuring distance
Network communication process
Global and Chinese markets for anesthesia, breathing and sleep apnea devices 2022-2028: Research Report on technology, participants, trends, market size and share
UEFI development learning 4 - getting to know variable services
Logistic regression: the most basic neural network
[untitled] record the visual shock of the Winter Olympics and the introduction of the display screen
UEFI development learning 5 - simple use of protocol
Altium designer learning (I)
About yolov3, conduct map test directly