mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-12-06 05:24:11 +03:00
Adjust LPR packages for licensing (#20780)
This commit is contained in:
parent
5529432856
commit
fc1cad2872
@ -56,7 +56,7 @@ pywebpush == 2.0.*
|
|||||||
# alpr
|
# alpr
|
||||||
pyclipper == 1.3.*
|
pyclipper == 1.3.*
|
||||||
shapely == 2.0.*
|
shapely == 2.0.*
|
||||||
Levenshtein==0.26.*
|
rapidfuzz==3.12.*
|
||||||
# HailoRT Wheels
|
# HailoRT Wheels
|
||||||
appdirs==1.4.*
|
appdirs==1.4.*
|
||||||
argcomplete==2.0.*
|
argcomplete==2.0.*
|
||||||
|
|||||||
@ -14,8 +14,8 @@ from typing import Any, List, Optional, Tuple
|
|||||||
|
|
||||||
import cv2
|
import cv2
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from Levenshtein import distance, jaro_winkler
|
|
||||||
from pyclipper import ET_CLOSEDPOLYGON, JT_ROUND, PyclipperOffset
|
from pyclipper import ET_CLOSEDPOLYGON, JT_ROUND, PyclipperOffset
|
||||||
|
from rapidfuzz.distance import JaroWinkler, Levenshtein
|
||||||
from shapely.geometry import Polygon
|
from shapely.geometry import Polygon
|
||||||
|
|
||||||
from frigate.comms.event_metadata_updater import (
|
from frigate.comms.event_metadata_updater import (
|
||||||
@ -1123,7 +1123,9 @@ class LicensePlateProcessingMixin:
|
|||||||
for i, plate in enumerate(plates):
|
for i, plate in enumerate(plates):
|
||||||
merged = False
|
merged = False
|
||||||
for j, cluster in enumerate(clusters):
|
for j, cluster in enumerate(clusters):
|
||||||
sims = [jaro_winkler(plate["plate"], v["plate"]) for v in cluster]
|
sims = [
|
||||||
|
JaroWinkler.similarity(plate["plate"], v["plate"]) for v in cluster
|
||||||
|
]
|
||||||
if len(sims) > 0:
|
if len(sims) > 0:
|
||||||
avg_sim = sum(sims) / len(sims)
|
avg_sim = sum(sims) / len(sims)
|
||||||
if avg_sim >= self.cluster_threshold:
|
if avg_sim >= self.cluster_threshold:
|
||||||
@ -1500,7 +1502,7 @@ class LicensePlateProcessingMixin:
|
|||||||
and current_time - data["last_seen"]
|
and current_time - data["last_seen"]
|
||||||
<= self.config.cameras[camera].lpr.expire_time
|
<= self.config.cameras[camera].lpr.expire_time
|
||||||
):
|
):
|
||||||
similarity = jaro_winkler(data["plate"], top_plate)
|
similarity = JaroWinkler.similarity(data["plate"], top_plate)
|
||||||
if similarity >= self.similarity_threshold:
|
if similarity >= self.similarity_threshold:
|
||||||
plate_id = existing_id
|
plate_id = existing_id
|
||||||
logger.debug(
|
logger.debug(
|
||||||
@ -1580,7 +1582,8 @@ class LicensePlateProcessingMixin:
|
|||||||
for label, plates_list in self.lpr_config.known_plates.items()
|
for label, plates_list in self.lpr_config.known_plates.items()
|
||||||
if any(
|
if any(
|
||||||
re.match(f"^{plate}$", rep_plate)
|
re.match(f"^{plate}$", rep_plate)
|
||||||
or distance(plate, rep_plate) <= self.lpr_config.match_distance
|
or Levenshtein.distance(plate, rep_plate)
|
||||||
|
<= self.lpr_config.match_distance
|
||||||
for plate in plates_list
|
for plate in plates_list
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user