220 lines
7.2 KiB
Python
220 lines
7.2 KiB
Python
__all__: list[str] = []
|
|
|
|
import cv2
|
|
import cv2.typing
|
|
import typing as _typing
|
|
|
|
|
|
# Classes
|
|
class FaceRecognizer(cv2.Algorithm):
|
|
# Functions
|
|
@_typing.overload
|
|
def train(self, src: _typing.Sequence[cv2.typing.MatLike], labels: cv2.typing.MatLike) -> None: ...
|
|
@_typing.overload
|
|
def train(self, src: _typing.Sequence[cv2.UMat], labels: cv2.UMat) -> None: ...
|
|
|
|
@_typing.overload
|
|
def update(self, src: _typing.Sequence[cv2.typing.MatLike], labels: cv2.typing.MatLike) -> None: ...
|
|
@_typing.overload
|
|
def update(self, src: _typing.Sequence[cv2.UMat], labels: cv2.UMat) -> None: ...
|
|
|
|
@_typing.overload
|
|
def predict_label(self, src: cv2.typing.MatLike) -> int: ...
|
|
@_typing.overload
|
|
def predict_label(self, src: cv2.UMat) -> int: ...
|
|
|
|
@_typing.overload
|
|
def predict(self, src: cv2.typing.MatLike) -> tuple[int, float]: ...
|
|
@_typing.overload
|
|
def predict(self, src: cv2.UMat) -> tuple[int, float]: ...
|
|
|
|
@_typing.overload
|
|
def predict_collect(self, src: cv2.typing.MatLike, collector: PredictCollector) -> None: ...
|
|
@_typing.overload
|
|
def predict_collect(self, src: cv2.UMat, collector: PredictCollector) -> None: ...
|
|
|
|
def write(self, filename: str) -> None: ...
|
|
|
|
def read(self, filename: str) -> None: ...
|
|
|
|
def setLabelInfo(self, label: int, strInfo: str) -> None: ...
|
|
|
|
def getLabelInfo(self, label: int) -> str: ...
|
|
|
|
def getLabelsByString(self, str: str) -> _typing.Sequence[int]: ...
|
|
|
|
|
|
class BIF(cv2.Algorithm):
|
|
# Functions
|
|
def getNumBands(self) -> int: ...
|
|
|
|
def getNumRotations(self) -> int: ...
|
|
|
|
@_typing.overload
|
|
def compute(self, image: cv2.typing.MatLike, features: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
|
|
@_typing.overload
|
|
def compute(self, image: cv2.UMat, features: cv2.UMat | None = ...) -> cv2.UMat: ...
|
|
|
|
@classmethod
|
|
def create(cls, num_bands: int = ..., num_rotations: int = ...) -> BIF: ...
|
|
|
|
|
|
class FacemarkKazemi(Facemark):
|
|
...
|
|
|
|
class Facemark(cv2.Algorithm):
|
|
# Functions
|
|
def loadModel(self, model: str) -> None: ...
|
|
|
|
@_typing.overload
|
|
def fit(self, image: cv2.typing.MatLike, faces: cv2.typing.MatLike, landmarks: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> tuple[bool, _typing.Sequence[cv2.typing.MatLike]]: ...
|
|
@_typing.overload
|
|
def fit(self, image: cv2.UMat, faces: cv2.UMat, landmarks: _typing.Sequence[cv2.UMat] | None = ...) -> tuple[bool, _typing.Sequence[cv2.UMat]]: ...
|
|
|
|
|
|
class FacemarkAAM(FacemarkTrain):
|
|
...
|
|
|
|
class FacemarkTrain(Facemark):
|
|
...
|
|
|
|
class FacemarkLBF(FacemarkTrain):
|
|
...
|
|
|
|
class BasicFaceRecognizer(FaceRecognizer):
|
|
# Functions
|
|
def getNumComponents(self) -> int: ...
|
|
|
|
def setNumComponents(self, val: int) -> None: ...
|
|
|
|
def getThreshold(self) -> float: ...
|
|
|
|
def setThreshold(self, val: float) -> None: ...
|
|
|
|
def getProjections(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
|
|
|
|
def getLabels(self) -> cv2.typing.MatLike: ...
|
|
|
|
def getEigenValues(self) -> cv2.typing.MatLike: ...
|
|
|
|
def getEigenVectors(self) -> cv2.typing.MatLike: ...
|
|
|
|
def getMean(self) -> cv2.typing.MatLike: ...
|
|
|
|
|
|
class EigenFaceRecognizer(BasicFaceRecognizer):
|
|
# Functions
|
|
@classmethod
|
|
def create(cls, num_components: int = ..., threshold: float = ...) -> EigenFaceRecognizer: ...
|
|
|
|
|
|
class FisherFaceRecognizer(BasicFaceRecognizer):
|
|
# Functions
|
|
@classmethod
|
|
def create(cls, num_components: int = ..., threshold: float = ...) -> FisherFaceRecognizer: ...
|
|
|
|
|
|
class LBPHFaceRecognizer(FaceRecognizer):
|
|
# Functions
|
|
def getGridX(self) -> int: ...
|
|
|
|
def setGridX(self, val: int) -> None: ...
|
|
|
|
def getGridY(self) -> int: ...
|
|
|
|
def setGridY(self, val: int) -> None: ...
|
|
|
|
def getRadius(self) -> int: ...
|
|
|
|
def setRadius(self, val: int) -> None: ...
|
|
|
|
def getNeighbors(self) -> int: ...
|
|
|
|
def setNeighbors(self, val: int) -> None: ...
|
|
|
|
def getThreshold(self) -> float: ...
|
|
|
|
def setThreshold(self, val: float) -> None: ...
|
|
|
|
def getHistograms(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
|
|
|
|
def getLabels(self) -> cv2.typing.MatLike: ...
|
|
|
|
@classmethod
|
|
def create(cls, radius: int = ..., neighbors: int = ..., grid_x: int = ..., grid_y: int = ..., threshold: float = ...) -> LBPHFaceRecognizer: ...
|
|
|
|
|
|
class MACE(cv2.Algorithm):
|
|
# Functions
|
|
def salt(self, passphrase: str) -> None: ...
|
|
|
|
@_typing.overload
|
|
def train(self, images: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
|
|
@_typing.overload
|
|
def train(self, images: _typing.Sequence[cv2.UMat]) -> None: ...
|
|
|
|
@_typing.overload
|
|
def same(self, query: cv2.typing.MatLike) -> bool: ...
|
|
@_typing.overload
|
|
def same(self, query: cv2.UMat) -> bool: ...
|
|
|
|
@classmethod
|
|
def load(cls, filename: str, objname: str = ...) -> MACE: ...
|
|
|
|
@classmethod
|
|
def create(cls, IMGSIZE: int = ...) -> MACE: ...
|
|
|
|
|
|
class PredictCollector:
|
|
...
|
|
|
|
class StandardCollector(PredictCollector):
|
|
# Functions
|
|
def getMinLabel(self) -> int: ...
|
|
|
|
def getMinDist(self) -> float: ...
|
|
|
|
def getResults(self, sorted: bool = ...) -> _typing.Sequence[tuple[int, float]]: ...
|
|
|
|
@classmethod
|
|
def create(cls, threshold: float = ...) -> StandardCollector: ...
|
|
|
|
|
|
|
|
# Functions
|
|
def createFacemarkAAM() -> Facemark: ...
|
|
|
|
def createFacemarkKazemi() -> Facemark: ...
|
|
|
|
def createFacemarkLBF() -> Facemark: ...
|
|
|
|
@_typing.overload
|
|
def drawFacemarks(image: cv2.typing.MatLike, points: cv2.typing.MatLike, color: cv2.typing.Scalar = ...) -> cv2.typing.MatLike: ...
|
|
@_typing.overload
|
|
def drawFacemarks(image: cv2.UMat, points: cv2.UMat, color: cv2.typing.Scalar = ...) -> cv2.UMat: ...
|
|
|
|
@_typing.overload
|
|
def getFacesHAAR(image: cv2.typing.MatLike, face_cascade_name: str, faces: cv2.typing.MatLike | None = ...) -> tuple[bool, cv2.typing.MatLike]: ...
|
|
@_typing.overload
|
|
def getFacesHAAR(image: cv2.UMat, face_cascade_name: str, faces: cv2.UMat | None = ...) -> tuple[bool, cv2.UMat]: ...
|
|
|
|
def loadDatasetList(imageList: str, annotationList: str, images: _typing.Sequence[str], annotations: _typing.Sequence[str]) -> bool: ...
|
|
|
|
@_typing.overload
|
|
def loadFacePoints(filename: str, points: cv2.typing.MatLike | None = ..., offset: float = ...) -> tuple[bool, cv2.typing.MatLike]: ...
|
|
@_typing.overload
|
|
def loadFacePoints(filename: str, points: cv2.UMat | None = ..., offset: float = ...) -> tuple[bool, cv2.UMat]: ...
|
|
|
|
@_typing.overload
|
|
def loadTrainingData(filename: str, images: _typing.Sequence[str], facePoints: cv2.typing.MatLike | None = ..., delim: str = ..., offset: float = ...) -> tuple[bool, cv2.typing.MatLike]: ...
|
|
@_typing.overload
|
|
def loadTrainingData(filename: str, images: _typing.Sequence[str], facePoints: cv2.UMat | None = ..., delim: str = ..., offset: float = ...) -> tuple[bool, cv2.UMat]: ...
|
|
@_typing.overload
|
|
def loadTrainingData(imageList: str, groundTruth: str, images: _typing.Sequence[str], facePoints: cv2.typing.MatLike | None = ..., offset: float = ...) -> tuple[bool, cv2.typing.MatLike]: ...
|
|
@_typing.overload
|
|
def loadTrainingData(imageList: str, groundTruth: str, images: _typing.Sequence[str], facePoints: cv2.UMat | None = ..., offset: float = ...) -> tuple[bool, cv2.UMat]: ...
|
|
@_typing.overload
|
|
def loadTrainingData(filename: _typing.Sequence[str], trainlandmarks: _typing.Sequence[_typing.Sequence[cv2.typing.Point2f]], trainimages: _typing.Sequence[str]) -> bool: ...
|
|
|
|
|