OptionOCR.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # -*- coding:utf-8 -*-
  2. import os
  3. import sys
  4. import time
  5. import numpy as np
  6. import cv2 as cv
  7. import json
  8. from BaseLog import CBaseLog
  9. from OptionConfig import COptionConfig
  10. from ssat_sdk import OCRConvert, ImageCMP
  11. # 测试加头文件;
  12. from TData import CTData
  13. from UIT_PathManage import UITPathManage
  14. class COptionOCR(CBaseLog):
  15. def __init__(self, optionConfig, pathManager):
  16. # COptionConfig对象;
  17. self.__optionConfig = optionConfig
  18. if self.__optionConfig is None:
  19. self.error("configManger对象空")
  20. # 路径对象;
  21. self.__pathManager = pathManager
  22. # 创建OCR对象
  23. self.__ocr = OCRConvert()
  24. # 图片切割对象
  25. self.__imgCMP = ImageCMP()
  26. '''
  27. 函数:获取指定原图中指定的文本区域内的文本内容;
  28. 参数:
  29. src_pid: 原图文件路径;
  30. texb_box: 原图中要获取文本内容的区域坐标;
  31. ocr_config: 使用何种方式识别文本; 示例:{"lan": "ChinesePRC+English", "type": 4}
  32. 返回:
  33. 返回文本内容;
  34. '''
  35. def getOptionFocusTextByFile(self, src_pic, text_box, ocr_config):
  36. src_img = cv.imread(src_pic)
  37. if src_img is None:
  38. self.error("读取图片失败:%s" % src_pic)
  39. return None
  40. return self.getOptionFocusText(src_img, text_box, ocr_config)
  41. '''
  42. 函数:获取指定原图中指定的文本区域内的文本内容;
  43. 参数:
  44. src_img: 原图图片对象(cv2.imread的结果值);
  45. texb_box: 原图中要获取文本内容的区域坐标;
  46. ocr_config: 使用何种方式识别文本; 示例:{"lan": "ChinesePRC+English", "type": 4}
  47. 返回:
  48. 返回文本内容;
  49. '''
  50. def getOptionFocusText(self, src_img, text_box, ocr_config):
  51. pass
  52. '''
  53. 函数:识别指定图片文件的文本内容;
  54. 参数:
  55. text_pic: 要识别文本的图片路径;
  56. ocr_config: 使用何种方式识别文本; 示例:{"lan": "ChinesePRC+English", "type": 4}
  57. 返回:
  58. '''
  59. def getImageText(self, text_pic, ocr_config):
  60. text_img = cv.imread(text_pic)
  61. if text_img is None:
  62. self.error("读取图片失败:%s" % text_pic)
  63. return None
  64. return self.getImageText(text_img, ocr_config)
  65. # end-class
  66. if __name__ == "__main__":
  67. tData = CTData()
  68. upath = UITPathManage(tData)
  69. opcfg = CoptionConfig(r'D:\SAT\resource\MenuTree\RT2851\2851', upath)
  70. opfocus = COptionOCR(opcfg, upath)