rjuqwhnt
This commit is contained in:
parent
f06f1ef7fd
commit
7da973567d
@ -0,0 +1,79 @@
|
||||
package com.heyu.api.controller.objectdet;
|
||||
|
||||
|
||||
import com.aliyun.objectdet20191230.models.DetectIPCObjectResponse;
|
||||
import com.aliyun.objectdet20191230.models.DetectIPCObjectResponseBody;
|
||||
import com.heyu.api.alibaba.handle.objectdet.ADetectIPCObjectHandle;
|
||||
import com.heyu.api.alibaba.request.objectdet.ADetectIPCObjectRequest;
|
||||
import com.heyu.api.controller.BaseController;
|
||||
import com.heyu.api.data.annotation.NotIntercept;
|
||||
import com.heyu.api.data.utils.ApiR;
|
||||
import com.heyu.api.data.utils.R;
|
||||
import com.heyu.api.request.objectdet.DetectIPCObjectReq;
|
||||
import com.heyu.api.resp.objectdet.DetectIPCObjectResp;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
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/DetectIPCObject?tab=DOC
|
||||
* <p>
|
||||
* IPC图像目标检测
|
||||
* <p>
|
||||
* DetectIPCObject
|
||||
*
|
||||
* 应用场景
|
||||
* 智能看家:家中有人或宠物移动时可生成高精度视频,实现检测提醒功能。且可以关注宠物在家中的活动状况。
|
||||
* 智能看店:可对门店起到安防作用,尤其是在夜间,可及时知道有人进店。
|
||||
* 智能看厂:安全是厂区非常重要的事情,对于人员在岗以及人员入侵可以起到良好的监管作用。
|
||||
* 特色优势
|
||||
* 适用场景多:适应多种广泛的日常场景的目标检测,室内、室外、家居、店铺、商场、白天、夜间等。
|
||||
* 检测范围广:可检测的目标大小范围广,适用于大目标检测,也适用于较远摄像头下的小目标检测。
|
||||
* 检测效率高:高并发处理,处理时间短。
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/object")
|
||||
@NotIntercept
|
||||
public class DetectIPCObjectController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ADetectIPCObjectHandle aDetectIPCObjectHandle;
|
||||
|
||||
|
||||
@RequestMapping("/ipc")
|
||||
public R ipc(DetectIPCObjectReq req) {
|
||||
|
||||
List<DetectIPCObjectResp> respList = new ArrayList<>();
|
||||
|
||||
ADetectIPCObjectRequest aDetectIPCObjectRequest = new ADetectIPCObjectRequest();
|
||||
aDetectIPCObjectRequest.setImageBase64(req.getImageBase64());
|
||||
aDetectIPCObjectRequest.setImageUrl(req.getImageUrl());
|
||||
|
||||
|
||||
ApiR<DetectIPCObjectResponse> aR = aDetectIPCObjectHandle.handle(aDetectIPCObjectRequest);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
DetectIPCObjectResponseBody.DetectIPCObjectResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
if (CollectionUtils.isNotEmpty(responseBodyData.getElements())) {
|
||||
for (DetectIPCObjectResponseBody.DetectIPCObjectResponseBodyDataElements element : responseBodyData.getElements()) {
|
||||
|
||||
DetectIPCObjectResp resp = new DetectIPCObjectResp();
|
||||
resp.setScore(element.getScore());
|
||||
resp.setType(element.getType());
|
||||
|
||||
respList.add(resp);
|
||||
}
|
||||
|
||||
}
|
||||
return R.ok().setData(respList);
|
||||
|
||||
}
|
||||
return R.error(aR.getErrorMsg());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package com.heyu.api.request.objectdet;
|
||||
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DetectIPCObjectReq extends CommonReq {
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.heyu.api.resp.objectdet;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DetectIPCObjectResp extends BaseResp {
|
||||
|
||||
/***
|
||||
* 检测框的置信度,取值范围[0.0,1.0]。
|
||||
*
|
||||
* 示例值:
|
||||
* 0.7138671875
|
||||
*/
|
||||
public Float score;
|
||||
|
||||
/**
|
||||
* 检测框对应的物体名称,取值如下:
|
||||
*
|
||||
* PERSON:人物
|
||||
* VEHICLE:车辆
|
||||
* CAT:猫
|
||||
* DOG:狗
|
||||
* 示例值:
|
||||
* DOG
|
||||
*/
|
||||
public String type;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user