设置Application的文件,设置/ocr,这里的意思是设置根路径的意思
之后写一下接口参数和Java所对应的Bean,
这里设置一个类OcrParm,application.yml文件中进行配置
1. /*设置根路径*/ 2. server: 3. port: 9090 4. servlet: 5. context-path: /ocr
OcrParam这里的实体类配置成这样,新建一个OcrParam的类
这里在dto开始编写实体类
TextOctDto
TextOctDto类的相关配置
在TextOctDto中添加注解
TextOctDto中添加text
接下来,接入文本框的APO
创建TextAccuracyOcrDto
TextAccuracyOcrDto一个创建文本,一个可信度
package file.pojo.dto; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor @Data public class TextAccuracyOcrDto { /** * 识别文本 */ private String text; /** * 识别可信度 */ private String accuracy; }
再创建一个文本和字符位置的实体类
再创建一个新的Dto,TextAccuracyLocationDto
这里width代表x和y坐标
我们需要一个新的对象去构造,去构造位置对象,OcrPoint
package zero.file.videoProject.controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import zero.file.videoProject.bean.dto.TextOcrDto; import zero.file.videoProject.bean.param.OcrParam; import java.util.List; @RestController @RequestMapping("/text") public class OctTextController { @PostMapping("/text-only") public List<List<TextOcrDto>> textOnly(@RequestBody OcrParam ocrParam){ // Todo 调用识别服务 } }
x和y有两个值,写成这样就行
由于我们需要四个点来返回坐标,Mapper的key用来代替是那个点,另一个是路径
这里添加无参构造和有参构造的方法
接下来我们在controller层中编写接口
编写Controller
@RequestBody表示携带参数,把他放到List里
1. package zero.file.videoProject.controller; 2. 3. import org.springframework.web.bind.annotation.PostMapping; 4. import org.springframework.web.bind.annotation.RequestBody; 5. import org.springframework.web.bind.annotation.RequestMapping; 6. import org.springframework.web.bind.annotation.RestController; 7. import zero.file.videoProject.bean.dto.TextOcrDto; 8. import zero.file.videoProject.bean.par