__init__.pyi 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. __all__: list[str] = []
  2. import cv2
  3. import cv2.typing
  4. import os
  5. import typing as _typing
  6. # Enumerations
  7. ERFILTER_NM_RGBLGrad: int
  8. ERFILTER_NM_RGBLGRAD: int
  9. ERFILTER_NM_IHSGrad: int
  10. ERFILTER_NM_IHSGRAD: int
  11. OCR_LEVEL_WORD: int
  12. OCR_LEVEL_TEXTLINE: int
  13. ERGROUPING_ORIENTATION_HORIZ: int
  14. ERGROUPING_ORIENTATION_ANY: int
  15. erGrouping_Modes = int
  16. """One of [ERGROUPING_ORIENTATION_HORIZ, ERGROUPING_ORIENTATION_ANY]"""
  17. PSM_OSD_ONLY: int
  18. PSM_AUTO_OSD: int
  19. PSM_AUTO_ONLY: int
  20. PSM_AUTO: int
  21. PSM_SINGLE_COLUMN: int
  22. PSM_SINGLE_BLOCK_VERT_TEXT: int
  23. PSM_SINGLE_BLOCK: int
  24. PSM_SINGLE_LINE: int
  25. PSM_SINGLE_WORD: int
  26. PSM_CIRCLE_WORD: int
  27. PSM_SINGLE_CHAR: int
  28. page_seg_mode = int
  29. """One of [PSM_OSD_ONLY, PSM_AUTO_OSD, PSM_AUTO_ONLY, PSM_AUTO, PSM_SINGLE_COLUMN, PSM_SINGLE_BLOCK_VERT_TEXT, PSM_SINGLE_BLOCK, PSM_SINGLE_LINE, PSM_SINGLE_WORD, PSM_CIRCLE_WORD, PSM_SINGLE_CHAR]"""
  30. OEM_TESSERACT_ONLY: int
  31. OEM_CUBE_ONLY: int
  32. OEM_TESSERACT_CUBE_COMBINED: int
  33. OEM_DEFAULT: int
  34. ocr_engine_mode = int
  35. """One of [OEM_TESSERACT_ONLY, OEM_CUBE_ONLY, OEM_TESSERACT_CUBE_COMBINED, OEM_DEFAULT]"""
  36. OCR_DECODER_VITERBI: int
  37. decoder_mode = int
  38. """One of [OCR_DECODER_VITERBI]"""
  39. OCR_KNN_CLASSIFIER: int
  40. OCR_CNN_CLASSIFIER: int
  41. classifier_type = int
  42. """One of [OCR_KNN_CLASSIFIER, OCR_CNN_CLASSIFIER]"""
  43. # Classes
  44. class ERFilter(cv2.Algorithm):
  45. # Classes
  46. class Callback:
  47. ...
  48. class BaseOCR:
  49. ...
  50. class OCRTesseract(BaseOCR):
  51. # Functions
  52. @_typing.overload
  53. def run(self, image: cv2.typing.MatLike, min_confidence: int, component_level: int = ...) -> str: ...
  54. @_typing.overload
  55. def run(self, image: cv2.UMat, min_confidence: int, component_level: int = ...) -> str: ...
  56. @_typing.overload
  57. def run(self, image: cv2.typing.MatLike, mask: cv2.typing.MatLike, min_confidence: int, component_level: int = ...) -> str: ...
  58. @_typing.overload
  59. def run(self, image: cv2.UMat, mask: cv2.UMat, min_confidence: int, component_level: int = ...) -> str: ...
  60. def setWhiteList(self, char_whitelist: str) -> None: ...
  61. @classmethod
  62. def create(cls, datapath: str = ..., language: str = ..., char_whitelist: str = ..., oem: int = ..., psmode: int = ...) -> OCRTesseract: ...
  63. class OCRHMMDecoder(BaseOCR):
  64. # Classes
  65. class ClassifierCallback:
  66. ...
  67. # Functions
  68. @_typing.overload
  69. def run(self, image: cv2.typing.MatLike, min_confidence: int, component_level: int = ...) -> str: ...
  70. @_typing.overload
  71. def run(self, image: cv2.UMat, min_confidence: int, component_level: int = ...) -> str: ...
  72. @_typing.overload
  73. def run(self, image: cv2.typing.MatLike, mask: cv2.typing.MatLike, min_confidence: int, component_level: int = ...) -> str: ...
  74. @_typing.overload
  75. def run(self, image: cv2.UMat, mask: cv2.UMat, min_confidence: int, component_level: int = ...) -> str: ...
  76. @classmethod
  77. @_typing.overload
  78. def create(cls, classifier: OCRHMMDecoder.ClassifierCallback, vocabulary: str, transition_probabilities_table: cv2.typing.MatLike, emission_probabilities_table: cv2.typing.MatLike, mode: int = ...) -> OCRHMMDecoder: ...
  79. @classmethod
  80. @_typing.overload
  81. def create(cls, classifier: OCRHMMDecoder.ClassifierCallback, vocabulary: str, transition_probabilities_table: cv2.UMat, emission_probabilities_table: cv2.UMat, mode: int = ...) -> OCRHMMDecoder: ...
  82. @classmethod
  83. @_typing.overload
  84. def create(cls, filename: str | os.PathLike[str], vocabulary: str, transition_probabilities_table: cv2.typing.MatLike, emission_probabilities_table: cv2.typing.MatLike, mode: int = ..., classifier: int = ...) -> OCRHMMDecoder: ...
  85. @classmethod
  86. @_typing.overload
  87. def create(cls, filename: str | os.PathLike[str], vocabulary: str, transition_probabilities_table: cv2.UMat, emission_probabilities_table: cv2.UMat, mode: int = ..., classifier: int = ...) -> OCRHMMDecoder: ...
  88. class OCRBeamSearchDecoder(BaseOCR):
  89. # Classes
  90. class ClassifierCallback:
  91. ...
  92. # Functions
  93. @_typing.overload
  94. def run(self, image: cv2.typing.MatLike, min_confidence: int, component_level: int = ...) -> str: ...
  95. @_typing.overload
  96. def run(self, image: cv2.UMat, min_confidence: int, component_level: int = ...) -> str: ...
  97. @_typing.overload
  98. def run(self, image: cv2.typing.MatLike, mask: cv2.typing.MatLike, min_confidence: int, component_level: int = ...) -> str: ...
  99. @_typing.overload
  100. def run(self, image: cv2.UMat, mask: cv2.UMat, min_confidence: int, component_level: int = ...) -> str: ...
  101. @classmethod
  102. @_typing.overload
  103. def create(cls, classifier: OCRBeamSearchDecoder.ClassifierCallback, vocabulary: str, transition_probabilities_table: cv2.typing.MatLike, emission_probabilities_table: cv2.typing.MatLike, mode: decoder_mode = ..., beam_size: int = ...) -> OCRBeamSearchDecoder: ...
  104. @classmethod
  105. @_typing.overload
  106. def create(cls, classifier: OCRBeamSearchDecoder.ClassifierCallback, vocabulary: str, transition_probabilities_table: cv2.UMat, emission_probabilities_table: cv2.UMat, mode: decoder_mode = ..., beam_size: int = ...) -> OCRBeamSearchDecoder: ...
  107. class TextDetector:
  108. # Functions
  109. @_typing.overload
  110. def detect(self, inputImage: cv2.typing.MatLike) -> tuple[_typing.Sequence[cv2.typing.Rect], _typing.Sequence[float]]: ...
  111. @_typing.overload
  112. def detect(self, inputImage: cv2.UMat) -> tuple[_typing.Sequence[cv2.typing.Rect], _typing.Sequence[float]]: ...
  113. class TextDetectorCNN(TextDetector):
  114. # Functions
  115. @_typing.overload
  116. def detect(self, inputImage: cv2.typing.MatLike) -> tuple[_typing.Sequence[cv2.typing.Rect], _typing.Sequence[float]]: ...
  117. @_typing.overload
  118. def detect(self, inputImage: cv2.UMat) -> tuple[_typing.Sequence[cv2.typing.Rect], _typing.Sequence[float]]: ...
  119. @classmethod
  120. def create(cls, modelArchFilename: str, modelWeightsFilename: str) -> TextDetectorCNN: ...
  121. # Functions
  122. @_typing.overload
  123. def computeNMChannels(_src: cv2.typing.MatLike, _channels: _typing.Sequence[cv2.typing.MatLike] | None = ..., _mode: int = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
  124. @_typing.overload
  125. def computeNMChannels(_src: cv2.UMat, _channels: _typing.Sequence[cv2.UMat] | None = ..., _mode: int = ...) -> _typing.Sequence[cv2.UMat]: ...
  126. @_typing.overload
  127. def createERFilterNM1(cb: ERFilter.Callback, thresholdDelta: int = ..., minArea: float = ..., maxArea: float = ..., minProbability: float = ..., nonMaxSuppression: bool = ..., minProbabilityDiff: float = ...) -> ERFilter: ...
  128. @_typing.overload
  129. def createERFilterNM1(filename: str | os.PathLike[str], thresholdDelta: int = ..., minArea: float = ..., maxArea: float = ..., minProbability: float = ..., nonMaxSuppression: bool = ..., minProbabilityDiff: float = ...) -> ERFilter: ...
  130. @_typing.overload
  131. def createERFilterNM2(cb: ERFilter.Callback, minProbability: float = ...) -> ERFilter: ...
  132. @_typing.overload
  133. def createERFilterNM2(filename: str | os.PathLike[str], minProbability: float = ...) -> ERFilter: ...
  134. def createOCRHMMTransitionsTable(vocabulary: str, lexicon: _typing.Sequence[str]) -> cv2.typing.MatLike: ...
  135. @_typing.overload
  136. def detectRegions(image: cv2.typing.MatLike, er_filter1: ERFilter, er_filter2: ERFilter) -> _typing.Sequence[_typing.Sequence[cv2.typing.Point]]: ...
  137. @_typing.overload
  138. def detectRegions(image: cv2.UMat, er_filter1: ERFilter, er_filter2: ERFilter) -> _typing.Sequence[_typing.Sequence[cv2.typing.Point]]: ...
  139. @_typing.overload
  140. def detectRegions(image: cv2.typing.MatLike, er_filter1: ERFilter, er_filter2: ERFilter, method: int = ..., filename: str | os.PathLike[str] = ..., minProbability: float = ...) -> _typing.Sequence[cv2.typing.Rect]: ...
  141. @_typing.overload
  142. def detectRegions(image: cv2.UMat, er_filter1: ERFilter, er_filter2: ERFilter, method: int = ..., filename: str | os.PathLike[str] = ..., minProbability: float = ...) -> _typing.Sequence[cv2.typing.Rect]: ...
  143. @_typing.overload
  144. def detectTextSWT(input: cv2.typing.MatLike, dark_on_light: bool, draw: cv2.typing.MatLike | None = ..., chainBBs: cv2.typing.MatLike | None = ...) -> tuple[_typing.Sequence[cv2.typing.Rect], cv2.typing.MatLike, cv2.typing.MatLike]: ...
  145. @_typing.overload
  146. def detectTextSWT(input: cv2.UMat, dark_on_light: bool, draw: cv2.UMat | None = ..., chainBBs: cv2.UMat | None = ...) -> tuple[_typing.Sequence[cv2.typing.Rect], cv2.UMat, cv2.UMat]: ...
  147. @_typing.overload
  148. def erGrouping(image: cv2.typing.MatLike, channel: cv2.typing.MatLike, regions: _typing.Sequence[_typing.Sequence[cv2.typing.Point]], method: int = ..., filename: str | os.PathLike[str] = ..., minProbablity: float = ...) -> _typing.Sequence[cv2.typing.Rect]: ...
  149. @_typing.overload
  150. def erGrouping(image: cv2.UMat, channel: cv2.UMat, regions: _typing.Sequence[_typing.Sequence[cv2.typing.Point]], method: int = ..., filename: str | os.PathLike[str] = ..., minProbablity: float = ...) -> _typing.Sequence[cv2.typing.Rect]: ...
  151. def loadClassifierNM1(filename: str | os.PathLike[str]) -> ERFilter.Callback: ...
  152. def loadClassifierNM2(filename: str | os.PathLike[str]) -> ERFilter.Callback: ...
  153. def loadOCRBeamSearchClassifierCNN(filename: str | os.PathLike[str]) -> OCRBeamSearchDecoder.ClassifierCallback: ...
  154. def loadOCRHMMClassifier(filename: str | os.PathLike[str], classifier: int) -> OCRHMMDecoder.ClassifierCallback: ...
  155. def loadOCRHMMClassifierCNN(filename: str | os.PathLike[str]) -> OCRHMMDecoder.ClassifierCallback: ...
  156. def loadOCRHMMClassifierNM(filename: str | os.PathLike[str]) -> OCRHMMDecoder.ClassifierCallback: ...