Halcon区域region的遍历,合并,旋转与排序

简介: Halcon区域region的遍历,合并,旋转与排序

内容源自:


*对目标进行排序

*http://www.ihalcon.com/read-15537.html

image.png



重点关注:


union1 (SelectedRegions, RegionUnion) ///区域合并


sort_region (RegionAffineTrans, SortedRegions, 'character', 'true', 'row') ///排序



完整的源码:


*对目标进行排序

*http://www.ihalcon.com/read-15537.html

dev_close_window()

dev_update_off()

read_image (Image, '对目标进行排序.bmp')

get_image_size (Image, Width, Height)

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

dev_display (Image)

threshold (Image, Region, 0, 30)

connection (Region, ConnectedRegions)

select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 200, 600)

union1 (SelectedRegions, RegionUnion) ///区域合并

smallest_rectangle2 (RegionUnion, Row, Column, Phi, Length1, Length2)

gen_rectangle2_contour_xld (Rectangle, Row, Column, Phi, Length1, Length2)

vector_angle_to_rigid (Row, Column, 0, Row, Column, -Phi, HomMat2D)

vector_angle_to_rigid (Row, Column, 0, Row, Column, Phi, HomMat2D1)

affine_trans_image (Image, ImageAffineTrans, HomMat2D, 'constant', 'false')

affine_trans_region (SelectedRegions, RegionAffineTrans, HomMat2D, 'nearest_neighbor')

sort_region (RegionAffineTrans, SortedRegions, 'character', 'true', 'row') ///排序

affine_trans_region (SortedRegions, RegionAffineTrans1, HomMat2D1, 'nearest_neighbor')

dev_display (Image)

count_obj (RegionAffineTrans1, Number)

for i:=1 to Number by 1

   select_obj (RegionAffineTrans1, ObjectSelected, i)

   area_center (ObjectSelected, Area, Row1, Column1)

   dev_disp_text (i, 'image', Row1, Column1, 'red', 'box', 'false')  

endfor



---


引申阅读:


Halcon学习(6)计数与排序


http://www.skcircle.com/?id=91


sort_contours_xld算子的几种排序方式研究


https://www.cnblogs.com/xh6300/p/6536467.html


相关文章
|
开发者
【Leetcode -485.最大连续1的个数 -492.构造矩形】
【Leetcode -485.最大连续1的个数 -492.构造矩形】
49 0
Halcon区域region的生成,使用点坐标
Halcon区域region的生成,使用点坐标
864 0
|
8月前
|
存储 机器学习/深度学习 算法
python 五种算法转置后翻转、层次旋转、递归分块、一次性旋转、环状替换 实现旋转图像【力扣题48】
python 五种算法转置后翻转、层次旋转、递归分块、一次性旋转、环状替换 实现旋转图像【力扣题48】
|
9月前
leetcode-6110:网格图中递增路径的数目
leetcode-6110:网格图中递增路径的数目
63 1
|
9月前
|
存储 算法 Java
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
61 0
|
9月前
|
机器学习/深度学习 算法 C++
【算法 | 实验6-1】n*n的网格,从左上角开始到右下角结束遍历所有的方块仅一次,总共有多少种不同的遍历路径
前言 思路介绍中省略了关于如何进行回溯搜索的细节,而主要讨论回溯中所使用的剪枝策略。
183 0
【二分查找】左侧边界、右侧边界、查找值
【二分查找】左侧边界、右侧边界、查找值
|
9月前
[Halcon&小结] 判断Halcon区域region是否为空
[Halcon&小结] 判断Halcon区域region是否为空
648 0
ENVI按行数、列数或像元个数裁剪栅格图像
本文介绍基于ENVI软件,实现栅格遥感影像按照像元行列号与个数进行指定矩形区域裁剪的方法~
253 1
ENVI按行数、列数或像元个数裁剪栅格图像
|
C# C++
C++ C# Delphi 计算区域 合并 相交等
C++ C# Delphi 计算区域 合并 相交等
150 0