merge: angle restrict helper
This commit is contained in:
@@ -226,6 +226,26 @@ class LineShapeMatcher:
|
||||
np.array(picked_y, np.int32),
|
||||
np.array(picked_b, np.int8))
|
||||
|
||||
def set_angle_range_around(
|
||||
self, center_deg: float, tolerance_deg: float,
|
||||
) -> None:
|
||||
"""Restringe angle_range a (center - tol, center + tol).
|
||||
|
||||
Comodo helper per scenari in cui l'orientamento del pezzo e'
|
||||
noto a priori entro ±tolerance_deg (es. feeder vibrante con
|
||||
guida meccanica). Riduce drasticamente le varianti generate
|
||||
in train(): es. ±15° vs 360° = 24x meno varianti, training
|
||||
e matching molto piu veloci.
|
||||
|
||||
Esempio:
|
||||
m.set_angle_range_around(0, 20) # cerca solo in [-20, +20]
|
||||
m.train(template)
|
||||
"""
|
||||
self.angle_range_deg = (
|
||||
float(center_deg - tolerance_deg),
|
||||
float(center_deg + tolerance_deg),
|
||||
)
|
||||
|
||||
def _scale_list(self) -> list[float]:
|
||||
s0, s1 = self.scale_range
|
||||
if s0 >= s1 or self.scale_step <= 0:
|
||||
|
||||
Reference in New Issue
Block a user