Halcon示例之求一个矩形四个角点坐标的八种方法

简介: Halcon示例之求一个矩形四个角点坐标的八种方法

http://www.ihalcon.com/read-12547.html

gen_image_const (Image, 'byte', 512, 512)
get_domain (Image, Domain)
paint_region (Domain, Image, ImageResult1, 100, 'fill')
gen_rectangle1 (ROI_0, 204.77, 124.164, 278.986, 347.643)
paint_region (ROI_0, ImageResult1, ImageResult, 255, 'fill')
binary_threshold (ImageResult, Region, 'max_separability', 'light', UsedThreshold)
*已知矩形 求矩形四个顶点坐标
**方法一
get_region_polygon (Region, 5, Rows, Columns)
gen_cross_contour_xld (Cross, Rows, Columns, 60, 0.785398)
**方法二
gen_contour_region_xld (Region, Contours, 'border')
gen_polygons_xld (Contours, Polygons, 'ramer', 2)
get_polygon_xld (Polygons, Row, Col, Length, Phi)
gen_cross_contour_xld (Cross, Row, Col, 60, 0.785398)
**
get_lines_xld (Polygons, BeginRow, BeginCol, EndRow, EndCol, Length1, Phi1)
*********
**方法三
smallest_rectangle2 (Region, Row2, Column1, Phi3, Length12, Length21)
gen_rectangle2_contour_xld (Rectangle, Row2, Column1, Phi3, Length12, Length21)
get_contour_xld (Rectangle, Row3, Col1)
gen_cross_contour_xld (Cross1, Row3, Col1, 60, Phi1)
***方法四**角点法***这里感谢管理员TreWan提供***@TreWan
 Size:=60
 Angle:=0
points_foerstner (ImageResult, 1, 2, 3, 200, 0.3, 'gauss', 'true', RowJunctions, ColJunctions, \
                  CoRRJunctions, CoRCJunctions, CoCCJunctions, RowArea, ColArea, CoRRArea, CoRCArea, CoCCArea)
gen_cross_contour_xld (CrossFoerstner, RowJunctions, ColJunctions, Size, Angle)
dev_display (ImageResult)
dev_display (CrossFoerstner)
stop ()
*
***方法五 Harris interest points detector
points_harris (ImageResult, 0.7, 2, 0.04, 0, RowHarris, ColHarris)
gen_cross_contour_xld (CrossHarris, RowHarris, ColHarris, Size, Angle)
dev_display (ImageResult)
dev_display (CrossHarris)
*
***方法六 Harris binomial interest points detector
points_harris_binomial (ImageResult, 5, 15, 0.04, 1000, 'on', RowHarrisBinomial, ColHarrisBinomial)
gen_cross_contour_xld (CrossHarrisBinom, RowHarrisBinomial, ColHarrisBinomial, Size, Angle)
dev_display (ImageResult)
dev_display (CrossHarrisBinom)
stop ()
*
***方法七 Sojka interest points detector
points_sojka (ImageResult, 9, 2.5, 0.75, 30, 90, 0.5, 'true', RowSojka, ColSojka)
gen_cross_contour_xld (CrossSojka, RowSojka, ColSojka, Size, Angle)
dev_display (ImageResult)
dev_display (CrossSojka)
stop ()
*
***方法八 Lepetit interest points detector
points_lepetit (ImageResult, 3, 1, 20, 35, 'interpolation', RowLepetit, ColLepetit)
gen_cross_contour_xld (CrossLepetit, RowLepetit, ColLepetit, Size, Angle)
dev_display (ImageResult)
dev_display (CrossLepetit)


image.png

相关文章
|
7月前
|
API C++ 计算机视觉
【opencv3】鼠标框选矩形并显示当前像素点坐标和矩形中心点坐标C++
【opencv3】鼠标框选矩形并显示当前像素点坐标和矩形中心点坐标C++
|
7月前
|
计算机视觉 Python
OpenCV中线段、矩形、圆形、多边形的讲解与绘制实战(附Python源码)
OpenCV中线段、矩形、圆形、多边形的讲解与绘制实战(附Python源码)
171 0
|
4月前
|
算法框架/工具 C++ Python
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
361 0
|
2月前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
96 0
|
7月前
|
算法 图形学
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
351 2
|
7月前
|
存储 算法 图形学
【计算机图形学】实验二 用扫描线算法实现多边形填充
【计算机图形学】实验二 用扫描线算法实现多边形填充
250 2
|
7月前
|
计算机视觉
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
548 0
|
7月前
|
计算机视觉
OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
97 0
|
7月前
|
算法
[Halcon&几何] 矩形顶点和对角连线角度计算
[Halcon&几何] 矩形顶点和对角连线角度计算
151 0
|
7月前
[Halcon&几何] 线段中点、端点和角度的计算
[Halcon&几何] 线段中点、端点和角度的计算
297 0