package com.heyu.api.resp.common;


import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
public class WebImageLocLineResp extends BaseResp {

    /***
     * 图像方向，当 detect_direction=true 时返回该字段。检测到的图像朝向：
     * - - 1：未定义；
     * - 0 ：正向；
     * - 1：逆时针旋转90度；
     * - 2：逆时针旋转180度；
     * - 3：逆时针旋转270度
     */
    private String direction;


    /***
     * 文字
     */
    private String words;

    /***
     * 当 probability=true 时返回该字段。识别结果中每一行的置信度值，包含average：行置信度平均值，variance：行置信度方差，min：行置信度最小值
     */
    private  ProbabilityDTO  probability;

    /***
     * 整行的矩形框坐标。位置数组（坐标0点为左上角）
     */
    private LocationDTO location;


    private  CharsDTO chars;



    // 当 probability=true 时返回该字段。识别结果中每一行的置信度值，包含average：行置信度平均值，variance：行置信度方差，min：行置信度最小值
    @NoArgsConstructor
    @Data
    public static class ProbabilityDTO {
        private Double average;
        private Double min;
        private Integer variance;
    }

    @NoArgsConstructor
    @Data
    public static class LocationDTO {
        private Integer top;     // 表示定位位置的长方形左上顶点的垂直坐标
        private Integer left; // 表示定位位置的长方形左上顶点的水平坐标
        private Integer width; // 	表示定位位置的长方形的宽度
        private Integer height; // 表示定位位置的长方形的高度
    }




    @NoArgsConstructor
    @Data
    public static class CharsDTO {
        private String charX;
        private LocationDTO location;

        @NoArgsConstructor
        @Data
        public static class LocationDTO {
            private Integer top;
            private Integer left;
            private Integer width;
            private Integer height;
        }
    }

}
