提交修改

This commit is contained in:
quyixiao 2026-05-27 21:19:54 +08:00
parent 8ea4e1225e
commit 888b10051d
7 changed files with 261 additions and 25 deletions

View File

@ -21,20 +21,38 @@ import java.util.ArrayList;
import java.util.List;
/**
* https://next.api.aliyun.com/api/objectdet/2019-12-30/DetectIPCObject?tab=DOC
* IPC 图像目标检测控制器
* <p>
* IPC图像目标检测
* 基于阿里云物体检测 API专门针对 IPC网络摄像头场景进行目标检测
* 检测图像中的人宠物车辆等目标返回目标类型和置信度信息
* </p>
* <p>
* DetectIPCObject
* 核心优势
* <ul>
* <li>场景广泛适应室内外昼夜家居店铺等多种场景</li>
* <li>检测范围广支持大目标和小目标远距离摄像头</li>
* <li>高效率高并发处理响应时间短</li>
* <li>IPC 优化针对监控摄像头画面特点优化</li>
* </ul>
* </p>
* <p>
* 适用场景
* <ul>
* <li>智能看家检测家人宠物移动生成活动提醒</li>
* <li>智能看店夜间安防人员入侵检测</li>
* <li>智能看厂厂区人员监管在岗检测</li>
* <li>安防监控实时目标识别与告警</li>
* </ul>
* </p>
* <p>
* 阿里云 API 文档<a href="https://next.api.aliyun.com/api/objectdet/2019-12-30/DetectIPCObject?tab=DOC">DetectIPCObject</a>
* </p>
* <p>
* 接口路径/object/ipc
* </p>
*
* 应用场景
* 智能看家家中有人或宠物移动时可生成高精度视频实现检测提醒功能且可以关注宠物在家中的活动状况
* 智能看店可对门店起到安防作用尤其是在夜间可及时知道有人进店
* 智能看厂安全是厂区非常重要的事情对于人员在岗以及人员入侵可以起到良好的监管作用
* 特色优势
* 适用场景多适应多种广泛的日常场景的目标检测室内室外家居店铺商场白天夜间等
* 检测范围广可检测的目标大小范围广适用于大目标检测也适用于较远摄像头下的小目标检测
* 检测效率高高并发处理处理时间短
* @author heyu
* @since 1.0.0
*/
@Slf4j
@RestController
@ -47,6 +65,25 @@ public class DetectIPCObjectController extends BaseController {
private ADetectIPCObjectHandle aDetectIPCObjectHandle;
/**
* IPC 图像目标检测接口
* <p>
* 接收图片URL Base64调用阿里云 IPC 目标检测 API识别图像中的人宠物车辆等目标
* 返回每个目标的类型//宠物等和置信度评分
* </p>
* <p>
* 检测结果可能包括
* <ul>
* <li>Person</li>
* <li>车辆CarTruck </li>
* <li>宠物CatDog </li>
* <li>其他可识别目标</li>
* </ul>
* </p>
*
* @param req 检测请求参数包含 imageUrl imageBase64二选一
* @return 目标检测结果列表每个元素包含 type目标类型 score置信度
*/
@RequestMapping("/ipc")
public R ipc(DetectIPCObjectReq req) {

View File

@ -17,13 +17,29 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* https://next.api.aliyun.com/api/objectdet/2019-12-30/DetectMainBody?tab=DEMO&lang=JAVA
* 主体检测控制器
* <p>
* 主体检测
* 基于阿里云物体检测 API对输入的图片进行主体检测返回图片中主要主体如人物等的位置信息
* 支持通过图片 URL Base64 编码两种方式传入图片
* </p>
* <p>
* DetectMainBody
* 阿里云 API 文档<a href="https://next.api.aliyun.com/api/objectdet/2019-12-30/DetectMainBody?tab=DEMO&lang=JAVA">DetectMainBody</a>
* </p>
* <p>
* 适用场景
* <ul>
* <li>智能裁图自动识别图片主体保留主体区域进行裁剪</li>
* <li>商品展示突出商品主体优化展示效果</li>
* <li>内容审核定位图片中的关键内容区域</li>
* </ul>
* </p>
* <p>
* 接口路径/main/body/detect
* </p>
*
* @author heyu
* @since 1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/main/body")
@ -35,6 +51,15 @@ public class DetectMainBodyController extends BaseController {
private ADetectMainBodyHandle aDetectMainBodyHandle;
/**
* 主体检测接口
* <p>
* 接收图片URL Base64调用阿里云主体检测 API返回图片中主要主体的位置坐标
* </p>
*
* @param req 检测请求参数包含 imageUrl imageBase64二选一
* @return 主体位置信息包含 x, y, width, height 坐标若失败返回错误信息
*/
@RequestMapping("/detect")
public R ipc(DetectMainBodyReq req) {

View File

@ -69,7 +69,6 @@ public class DetectObjectController extends BaseController {
detectObjectResp.setType(element.getType());
respList.add(detectObjectResp);
}
return R.ok().setData(respList);
}

View File

@ -19,13 +19,32 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/***
* https://next.api.aliyun.com/api/objectdet/2019-12-30/DetectObject?tab=DOC
*
*物体检测
*
* DetectObject
/**
* 白底图检测控制器
* <p>
* 基于阿里云物体检测 API检测输入的图片是否为白底图背景为白色的图片
* 支持通过图片 URL Base64 编码两种方式传入图片
* </p>
* <p>
* 白底图通常用于证件照商品图资质文件等场景本接口可自动识别图片背景是否符合白底要求
* </p>
* <p>
* 阿里云 API 文档<a href="https://next.api.aliyun.com/api/objectdet/2019-12-30/DetectWhiteBaseImage?tab=DOC">DetectWhiteBaseImage</a>
* </p>
* <p>
* 适用场景
* <ul>
* <li>证件照审核检测证件照背景是否符合白底要求</li>
* <li>商品图处理判断商品图片是否为白底便于后续处理</li>
* <li>资质文件验证自动审核资质文件图片背景</li>
* </ul>
* </p>
* <p>
* 接口路径/object/detectWhiteBase
* </p>
*
* @author heyu
* @since 1.0.0
*/
@Slf4j
@RestController
@ -37,6 +56,15 @@ public class DetectWhiteBaseImageController extends BaseController {
@Autowired
private ADetectWhiteBaseImageHandle aDetectWhiteBaseImageHandle;
/**
* 白底图检测接口
* <p>
* 接收图片URL Base64调用阿里云白底图检测 API返回检测结果
* </p>
*
* @param req 检测请求参数包含 imageUrl imageBase64二选一
* @return 白底图检测结果列表每个元素包含 whiteBase 字段表示是否为白底图若失败返回错误信息
*/
@RequestMapping("/detectWhiteBase")
public R ipc(DetectWhiteBaseImageReq req) {

View File

@ -17,10 +17,35 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/***
* 通用文字识别高精度基础版
/**
* 通用文字识别控制器高精度基础版
* <p>
* 基于百度 OCR API提供多场景文字识别能力支持图片PDFOFD 等多种格式输入
* 返回百度原始响应包含 words_resultwords_result_numlog_id 等完整字段
* </p>
* <p>
* 支持的输入格式
* <ul>
* <li>图片Base64 编码或 URL</li>
* <li>PDF 文件Base64 编码可指定页码</li>
* <li>OFD 文件Base64 编码可指定页码</li>
* </ul>
* </p>
* <p>
* 适用场景
* <ul>
* <li>证件识别身份证驾驶证行驶证等</li>
* <li>票据识别发票收据银行单据等</li>
* <li>文档数字化印刷体文档书籍合同等</li>
* <li>卡片识别名片银行卡等</li>
* </ul>
* </p>
* <p>
* 接口路径/general/text/orc/recognize
* </p>
*
* 返回百度原始响应包含 words_resultwords_result_numlog_id 等完整字段
* @author heyu
* @since 1.0.0
*/
@Slf4j
@RestController
@ -32,11 +57,38 @@ public class GeneralBasicOcrController extends BaseController {
private BGeneralBasicHandle bGeneralBasicHandle;
/**
* 通用文字识别接口备用路径
* <p>
* 内部转发到 recognize 方法处理
* </p>
*
* @param generalBasicOcrRequest OCR 识别请求参数
* @return OCR 识别结果
*/
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
@RequestMapping("/recognize1")
public R recognize1(@RequestBody GeneralBasicOcrRequest generalBasicOcrRequest) throws Exception {
return recognize(generalBasicOcrRequest);
}
/**
* 通用文字识别接口主路径
* <p>
* 支持图片Base64/URLPDFOFD 格式的文字识别
* Base64 参数进行 URL 编码处理确保传输安全
* </p>
* <p>
* 本地测试http://localhost:8888/general/text/orc/recognize
* </p>
*
* @param generalBasicOcrRequest OCR 识别请求参数包含以下字段任选其一
* - imageBase64图片 Base64 编码
* - imageUrl图片 URL
* - pdfFilePDF 文件 Base64 编码
* - ofdFileOFD 文件 Base64 编码
* @return OCR 识别结果包含文字内容置信度坐标等信息
*/
// http://localhost:8888/general/text/orc/recognize?imageBase64=3232
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
@RequestMapping("/recognize")

View File

@ -16,6 +16,37 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 高精度文字识别控制器
* <p>
* 基于百度文档分析 Office API提供高精度的文字识别能力
* 相比通用 OCR本接口在复杂场景下识别精度更高支持返回文字行级别的概率信息
* </p>
* <p>
* 核心特性
* <ul>
* <li>高精度识别适合复杂背景低质量图片</li>
* <li>多格式支持图片Base64/URLPDFOFD</li>
* <li>置信度返回lineProbability=true 时返回每行文字的识别概率</li>
* <li>文档分析支持 Office 文档的文字提取</li>
* </ul>
* </p>
* <p>
* 适用场景
* <ul>
* <li>复杂票据手写印章表格混合的票据</li>
* <li>低质量图片模糊倾斜光照不均的图片</li>
* <li>多语言文档中英文混合的文档识别</li>
* <li>合同/证件需要高精度的正式文件</li>
* </ul>
* </p>
* <p>
* 接口路径/high/precision/orc/recognize
* </p>
*
* @author heyu
* @since 1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/high/precision/orc/")
@ -26,6 +57,27 @@ public class HighPrecisionOcrController {
private BDocAnalysisOfficeHandle bDocAnalysisOfficeHandle;
/**
* 高精度文字识别接口
* <p>
* 使用百度文档分析 Office API 进行高精度 OCR 识别相比通用 OCR 提供更高的识别准确率
* 自动启用 lineProbability 返回每行文字的置信度便于后续质量评估和过滤
* </p>
* <p>
* 本地测试http://localhost:8888/high/precision/orc/recognize
* </p>
* <p>
* 示例图片https://heyuoss.oss-cn-shanghai.aliyuncs.com/prd/testxxx.jpg
* </p>
*
* @param generalBasicOcrRequest OCR 识别请求参数包含以下字段任选其一
* - imageBase64图片 Base64 编码
* - imageUrl图片 URL
* - pdfFilePDF 文件 Base64 编码
* - ofdFileOFD 文件 Base64 编码
* - pdfFileNum/ofdFileNum指定页码可选
* @return 高精度 OCR 识别结果包含文字内容坐标置信度等信息
*/
// http://localhost:8888/high/precision/orc/recognize?imageBase64=3232
// https://heyuoss.oss-cn-shanghai.aliyuncs.com/prd/testxxx.jpg
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)

View File

@ -13,6 +13,37 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 二维码识别控制器
* <p>
* 基于百度 QR Code API提供二维码/条形码的识别和解析能力
* 支持图片 URL Base64 编码两种方式传入图片自动识别并解析二维码内容
* </p>
* <p>
* 核心功能
* <ul>
* <li>二维码识别支持 QR CodeDataMatrixPDF417 等格式</li>
* <li>条形码识别支持 EAN-13EAN-8Code128 等常见格式</li>
* <li>多码检测单张图片包含多个二维码时全部识别</li>
* <li>位置定位返回二维码在图片中的坐标位置</li>
* </ul>
* </p>
* <p>
* 适用场景
* <ul>
* <li>支付扫码识别微信支付宝等收款码</li>
* <li>票务验证识别门票优惠券二维码</li>
* <li>信息采集扫描产品包装证件上的二维码</li>
* <li>链接跳转识别网址二维码并解析目标 URL</li>
* </ul>
* </p>
* <p>
* 接口路径/qrcode/recognize
* </p>
*
* @author heyu
* @since 1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/qrcode")
@ -22,6 +53,18 @@ public class RecognizeQrCodeController extends BaseController {
@Autowired
private BQrCodeHandle bqrCodeHandle;
/**
* 二维码识别接口
* <p>
* 接收图片URL Base64调用百度 QR Code API 进行识别和解析
* 启用结果缓存相同图片的识别结果会被缓存以提升响应速度
* </p>
*
* @param request 二维码识别请求参数包含以下字段任选其一
* - imageBase64图片 Base64 编码
* - imageUrl图片 URL
* @return 二维码识别结果包含二维码内容类型位置坐标等信息
*/
@RequestMapping("/recognize")
@CacheResult
public R recognize(BQrcodeReconizeRequest request) {