类 TextRecognitionModel


  • public class TextRecognitionModel
    extends Model
    此类表示文本识别网络的高级 API。TextRecognitionModel 允许设置预处理输入图像的参数。TextRecognitionModel 从包含已训练权重和配置的文件中创建网络,设置预处理输入,运行前向传递并返回识别结果。对于 TextRecognitionModel,支持 CRNN-CTC。
    • 构造函数详情

      • TextRecognitionModel

        protected TextRecognitionModel​(long addr)
      • TextRecognitionModel

        public TextRecognitionModel​(Net network)
        从深度学习网络创建文本识别模型。构造函数之后调用 setDecodeType() 和 setVocabulary() 以初始化解码方法。
        参数
        network - Net 对象
      • TextRecognitionModel

        public TextRecognitionModel​(java.lang.String model,
                                    java.lang.String config)
        从以一种受支持的格式表示的网络创建文本识别模型。构造函数之后调用 setDecodeType() 和 setVocabulary() 以初始化解码方法。
        参数
        model - 包含已训练权重的二进制文件
        config - 包含网络配置的文本文件
      • TextRecognitionModel

        public TextRecognitionModel​(java.lang.String model)
        从以一种受支持的格式表示的网络创建文本识别模型。构造函数之后调用 setDecodeType() 和 setVocabulary() 以初始化解码方法。
        参数
        model - 包含已训练权重的二进制文件
    • 方法详情

      • setDecodeType

        public TextRecognitionModel setDecodeType​(java.lang.String decodeType)
        设置将网络输出转换为字符串的解码方法
        参数
        decodeType - 将网络输出转换为字符串的解码方法,当前支持的类型:- "CTC-greedy" 基于 CTC 方法的输出的贪婪解码 - "CTC-prefix-beam-search" 基于 CTC 方法的输出的前缀波束搜索解码
        返回
        自动生成
      • getDecodeType

        public java.lang.String getDecodeType()
        获取解码方法
        返回
        解码方法
      • setDecodeOptsCTCPrefixBeamSearch

        public TextRecognitionModel setDecodeOptsCTCPrefixBeamSearch​(int beamSize,
                                                                     int vocPruneSize)
        设置"CTC-prefix-beam-search"解码使用的解码方法选项
        参数
        beamSize - 搜索的波束大小
        vocPruneSize - 优化大型词汇表搜索的参数,在每个搜索步骤中只取前 vocPruneSize 个标记,vocPruneSize <= 0 表示禁用此修剪。
        返回
        自动生成
      • setDecodeOptsCTCPrefixBeamSearch

        public TextRecognitionModel setDecodeOptsCTCPrefixBeamSearch​(int beamSize)
        设置"CTC-prefix-beam-search"解码使用的解码方法选项
        参数
        beamSize - 搜索的波束大小,在每个搜索步骤中只取前 vocPruneSize 个标记,vocPruneSize <= 0 表示禁用此修剪。
        返回
        自动生成
      • setVocabulary

        public TextRecognitionModel setVocabulary​(java.util.List<java.lang.String> vocabulary)
        设置识别的词汇表。
        参数
        vocabulary - 网络的关联词汇表。
        返回
        自动生成
      • getVocabulary

        public java.util.List<java.lang.String> getVocabulary()
        获取识别的词汇表。
        返回
        vocabulary 网络的关联词汇表
      • recognize

        public java.lang.String recognize​(Mat frame)
        给定输入帧,创建输入 blob,运行网络并返回识别结果
        参数
        frame - 输入图像
        返回
        文本识别结果
      • recognize

        public void recognize​(Mat frame,
                              java.util.List<Mat> roiRects,
                              java.util.List<java.lang.String> results)
        给定输入帧,创建输入 blob,运行网络并返回识别结果
        参数
        frame - 输入图像
        roiRects - 感兴趣的文本检测区域列表 (cv::Rect, CV_32SC4)。ROIs 将被裁剪为网络输入
        results - 一组文本识别结果。
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        覆盖
        finalize 在类 Model
        抛出
        java.lang.Throwable