360 Secure SkillHub
360 安全技能中心

Pywayne Cv Geometric Hull Calculator

该 Skill 说明如何使用 pywayne.cv.geometric_hull_calculator 中的 GeometricHullCalculator 类:输入二维点集,选择 concave-hull 或 alphashape 算法,计算凸包、凹包、最小外接矩形和中心点,并可用 OpenCV 或 matplotlib 可视化,附随机点集生成方法。

wangyendt
wangyendt
热度 61.96
最近更新 2026-05-11 17:25:45
分类:数据依赖:代码执行应用场景:数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add geometric-hull-calculator
Metadata
name
pywayne-cv-geometric-hull-calculator
description
Geometric hull calculator for 2D point sets supporting convex hull, concave hull (concave-hull, alphashape), and minimum bounding rectangle. Use when working with pywayne.cv.geometric_hull_calculator module to compute geometric hulls, visualize results with OpenCV or matplotlib, and generate random test point sets.

Pywayne Geometric Hull Calculator

This module computes geometric hulls (convex and concave) for 2D point sets.

Quick Start

from pywayne.cv.geometric_hull_calculator import GeometricHullCalculator
import numpy as np

# Create calculator with random points
points = GeometricHullCalculator.generate_random_points(num_points=50)
calculator = GeometricHullCalculator(points, algorithm='concave-hull')

# Get results
print(f"MBR: {calculator.get_mbr()}")
print(f"Convex Hull: {calculator.get_convex_hull()}")
print(f"Concave Hull: {calculator.get_concave_hull()}")

# Visualize with matplotlib
calculator.visualize_matplotlib()

Initialization

# algorithm options: 'concave-hull' or 'alphashape'
# use_filtered_pts: Enable point filtering based on radius
calculator = GeometricHullCalculator(
    points=your_points,
    algorithm='alphashape',
    use_filtered_pts=True
)

Supported Algorithms

Algorithm Description
concave-hull Concave hull using concave_hull library
alphashape Concave hull using alphashape library

Hull Types

Type Method Description
Convex Hull get_convex_hull() Outer hull containing all points
Concave Hull get_concave_hull() Inner concave boundary

Properties

Property Description
points Input 2D points (N×2 numpy array)
algorithm Algorithm used for concave hull
use_filtered_pts Whether filtered points were used
box Minimum Bounding Rectangle corners
center Center point of input points
filter_radius Radius used for point filtering
concave_hull_result Concave hull points or polygons

Visualization

OpenCV Visualization

calculator.visualize_opencv()

Displays: All input points, MBR, center, filter circle (if enabled), concave hull (green), convex hull (red).

Matplotlib Visualization

calculator.visualize_matplotlib()

Displays: All input points (red), MBR (blue), center, filter radius circle (if enabled), concave hull (orange), convex hull (purple).

Requirements

  • numpy - Array operations
  • cv2 (OpenCV) - For OpenCV visualization and MBR computation
  • matplotlib - For matplotlib visualization
  • scipy - For convex hull computation
  • concave_hull - Concave hull algorithm
  • alphashape - Alphashape algorithm
  • shapely - Polygon operations for area calculation

Notes

  • Point filtering uses radius = 30% of shorter MBR edge length
  • MBR computed using OpenCV's minAreaRect
  • Convex hull uses scipy's ConvexHull
  • Supports both single Polygon and MultiPolygon from alphashape results