记得上下班打卡 | git大法好,push需谨慎

Commit 4439854a authored by jiangxiulong's avatar jiangxiulong

视频人流量 完善url 人体检测

parent a97e0c67
......@@ -10,6 +10,7 @@ import com.aliyuncs.facebody.model.v20191230.DetectPedestrianRequest;
import com.aliyuncs.facebody.model.v20191230.DetectPedestrianResponse;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
......@@ -29,6 +30,7 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.io.InputStream;
......@@ -49,6 +51,11 @@ import java.util.List;
@RequestMapping("/camera")
public class KylinCameraController {
@Value("${liquidnet.aliyun.oss.accessKeyId}")
private String accessKeyId;
@Value("${liquidnet.aliyun.oss.accessKeySecret}")
private String accessKeySecret;
@Autowired
private KylinCameraMapper cameraMapper;
......@@ -80,12 +87,7 @@ public class KylinCameraController {
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize
) {
// TODO: 2022/1/10 jxltodo 改成配置
DefaultProfile profile = DefaultProfile.getProfile(
"cn-beijing",
"LTAI5t5kniDKEadiKHWiCM9Q",
"hIZPi0AluvrgBE5xg5Pa9fBvvAqnbw"
);
DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
......@@ -93,7 +95,7 @@ public class KylinCameraController {
request.setSysDomain("vs.cn-beijing.aliyuncs.com");
request.setSysVersion("2018-12-12");
request.setSysAction("DescribeDevices");
request.putQueryParameter("GroupId", "410751715516867255-cn-beijing");
// request.putQueryParameter("GroupId", "410751715516867255-cn-beijing");
request.putQueryParameter("PageNum", String.valueOf(pageNum));
request.putQueryParameter("PageSize", String.valueOf(pageSize));
try {
......@@ -139,32 +141,38 @@ public class KylinCameraController {
}
@GetMapping(value = "detectPedestrian")
@ApiOperation("DetectPedestrian")
@ApiOperation("人体识别")
public String detectPedestrian() {
String accessKey = "LTAI4FxrURzMvvu9reFgwY5o"; //您的AccessKeyID
String accessKeySecret = "Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV"; //您的AccessKeySecret
String regionId = "cn-beijing";
//String file = "/home/admin/file/1.jpg"; //或者本地上传
String file = "https://camera.zhengzai.tv/camera/live/20220101202301070001.jpg";
try {
InputStream inputStream = ViapiFileUtilAdvance.buildInputStream(file);
ViapiFileUtilAdvance fileUtils = ViapiFileUtilAdvance.getInstance(accessKey, accessKeySecret, regionId);
String ossTempFileUrl = fileUtils.upload(inputStream);
System.out.println(ossTempFileUrl);
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTAI4FxrURzMvvu9reFgwY5o", "Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV");
IAcsClient client = new DefaultAcsClient(profile);
DetectPedestrianRequest request = new DetectPedestrianRequest();
request.setImageURL(ossTempFileUrl);
DetectPedestrianResponse response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
return "success";
} catch (Exception e) {
log.error("获取设备列表Exception:[msg={}, e={}]", e.getMessage(), e);
return "error";
List<KylinCamera> cameraList = cameraMapper.selectList(
Wrappers.lambdaQuery(KylinCamera.class)
.eq(KylinCamera::getStatus, "on")
);
if (!CollectionUtils.isEmpty(cameraList)) {
for (KylinCamera kylinCamera : cameraList) {
try {
InputStream inputStream = ViapiFileUtilAdvance.buildInputStream(kylinCamera.getImgUrl());
ViapiFileUtilAdvance fileUtils = ViapiFileUtilAdvance.getInstance(accessKeyId, accessKeySecret, "cn-beijing");
String ossTempFileUrl = fileUtils.upload(inputStream);
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
DetectPedestrianRequest request = new DetectPedestrianRequest();
request.setImageURL(ossTempFileUrl);
DetectPedestrianResponse response = client.getAcsResponse(request);
List<DetectPedestrianResponse.Data.Element> elementList = response.getData().getElements();
if (!CollectionUtils.isEmpty(elementList)) {
for (DetectPedestrianResponse.Data.Element element : elementList) {
System.out.println(element.getType());
System.out.println(element.getScore());
}
}
} catch (Exception e) {
log.error("获取设备列表Exception:[msg={}, e={}]", e.getMessage(), e);
}
}
}
return "success";
}
}
......@@ -7,12 +7,6 @@ import com.aliyun.oss.models.PostObjectRequest;
import com.aliyun.tea.TeaConverter;
import com.aliyun.tea.TeaPair;
import com.aliyun.teautil.models.RuntimeOptions;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.facebody.model.v20191230.DetectPedestrianRequest;
import com.aliyuncs.facebody.model.v20191230.DetectPedestrianResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
......@@ -28,36 +22,6 @@ import java.util.concurrent.ConcurrentHashMap;
public class ViapiFileUtilAdvance {
public static void main(String[] args) throws Exception {
String accessKey = "LTAI4FxrURzMvvu9reFgwY5o"; //您的AccessKeyID
String accessKeySecret = "Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV"; //您的AccessKeySecret
String regionId = "cn-beijing";
//String file = "/home/admin/file/1.jpg"; //或者本地上传
String file = "https://camera.zhengzai.tv/camera/live/20220101202301070001.jpg";
try (InputStream inputStream = buildInputStream(file)) {
ViapiFileUtilAdvance fileUtils = ViapiFileUtilAdvance.getInstance(accessKey, accessKeySecret, regionId);
String ossTempFileUrl = fileUtils.upload(inputStream);
System.out.println(ossTempFileUrl);
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTAI4FxrURzMvvu9reFgwY5o", "Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV");
/** use STS Token
DefaultProfile profile = DefaultProfile.getProfile(
"<your-region-id>", // The region ID
"<your-access-key-id>", // The AccessKey ID of the RAM account
"<your-access-key-secret>", // The AccessKey Secret of the RAM account
"<your-sts-token>"); // STS Token
**/
IAcsClient client = new DefaultAcsClient(profile);
DetectPedestrianRequest request = new DetectPedestrianRequest();
request.setImageURL(ossTempFileUrl);
DetectPedestrianResponse response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
}
}
public static InputStream buildInputStream(String filePath) throws IOException {
if (StringUtils.startsWithAny(filePath, new CharSequence[]{"http://", "https://"})) {
filePath = URLDecoder.decode(filePath, "UTF-8");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment