|
|
|
|
@ -139,6 +139,7 @@ namespace OpenAuth.App.ServiceApp.Algo
|
|
|
|
|
//string detectRegionJson = "[[0, 0],[8063, 647],[8017, 7774],[552, 8033]]";
|
|
|
|
|
//string url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/lQLPJyIVimQWGKnNA4PNA6Gw1D3q5gbxUvQIiumcIx4vAA_929_899.png";
|
|
|
|
|
var regionArray = JsonConvert.DeserializeObject<int[][]>(detectRegionJson);
|
|
|
|
|
var imaList = data.imgList;
|
|
|
|
|
if (oldinfo != null)
|
|
|
|
|
{
|
|
|
|
|
string compareGroupId = Guid.NewGuid().ToString();
|
|
|
|
|
@ -163,7 +164,7 @@ namespace OpenAuth.App.ServiceApp.Algo
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(item.imgUrl);
|
|
|
|
|
Console.WriteLine(regionArray);
|
|
|
|
|
var imgurlend = await DrawingImgAndUpload(item.imgUrl.ToString().Replace("\\", ""), regionArray, cdid);
|
|
|
|
|
var imgurlend = await DrawingImgAndUpload1(item.imgUrl.ToString().Replace("\\", ""), imaList, cdid);
|
|
|
|
|
lasaAiAchievementDetail.Image = imgurlend;
|
|
|
|
|
}
|
|
|
|
|
await db.LasaAiAchievementDetail.InsertAsync(lasaAiAchievementDetail);
|
|
|
|
|
@ -181,8 +182,7 @@ namespace OpenAuth.App.ServiceApp.Algo
|
|
|
|
|
CreateTime = DateTime.Now,
|
|
|
|
|
AiModel = "DaHuaAi",
|
|
|
|
|
TaskId = cdid
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
foreach (var item in imageList)
|
|
|
|
|
{
|
|
|
|
|
//插入详情
|
|
|
|
|
@ -203,7 +203,7 @@ namespace OpenAuth.App.ServiceApp.Algo
|
|
|
|
|
Console.WriteLine(item.imgUrl);
|
|
|
|
|
Console.WriteLine(regionArray);
|
|
|
|
|
//var imgurlend = await DrawingImgAndUpload(item.imgUrl, regionArray);
|
|
|
|
|
var imgurlend = await DrawingImgAndUpload(item.imgUrl.ToString().Replace("\\", ""), regionArray, cdid);
|
|
|
|
|
var imgurlend = await DrawingImgAndUpload1(item.imgUrl.ToString().Replace("\\", ""), imaList, cdid);
|
|
|
|
|
lasaAiAchievementDetail.Image = imgurlend;
|
|
|
|
|
}
|
|
|
|
|
lasaAiAchievement.Lat = item.latitude;
|
|
|
|
|
@ -282,6 +282,57 @@ namespace OpenAuth.App.ServiceApp.Algo
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public async Task<string> DrawingImgAndUpload1(string url, dynamic rects, string cdid)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(url);
|
|
|
|
|
// 下载图片
|
|
|
|
|
//url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/localStorage.jpg";
|
|
|
|
|
using var stream = await httpClient.GetStreamAsync(url);
|
|
|
|
|
using var image = Image.FromStream(stream);
|
|
|
|
|
using var g = Graphics.FromImage(image);
|
|
|
|
|
using var pen = new Pen(Color.Red, 5); // 红色粗线
|
|
|
|
|
float scaleX = image.Width / STANDARD_WIDTH;
|
|
|
|
|
float scaleY = image.Height / STANDARD_HEIGHT;
|
|
|
|
|
foreach (var item in rects)
|
|
|
|
|
{
|
|
|
|
|
// 画框
|
|
|
|
|
foreach (var rect in item.objectRect)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(rect));
|
|
|
|
|
int x = (int)(rect.objLeft * scaleX);
|
|
|
|
|
int y = (int)(rect.objTop * scaleY);
|
|
|
|
|
int width = (int)((rect.objRight - rect.objLeft) * scaleX);
|
|
|
|
|
int height = (int)((rect.objBottom - rect.objTop) * scaleY);
|
|
|
|
|
|
|
|
|
|
if (x < image.Width && y < image.Height && width > 0 && height > 0)
|
|
|
|
|
{
|
|
|
|
|
g.DrawRectangle(pen, x, y, width, height);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 保存到内存流再上传
|
|
|
|
|
using var outputStream = new MemoryStream();
|
|
|
|
|
image.Save(outputStream, ImageFormat.Png);
|
|
|
|
|
outputStream.Position = 0;
|
|
|
|
|
|
|
|
|
|
string fileName = Path.GetFileName(new Uri(url).AbsolutePath);
|
|
|
|
|
|
|
|
|
|
// 上传到 MinIO
|
|
|
|
|
string uploadedUrl = await _minioService.UploadStreamFile(outputStream, fileName, "test", cdid);
|
|
|
|
|
|
|
|
|
|
Console.WriteLine("返回 imgurl:" + uploadedUrl);
|
|
|
|
|
return uploadedUrl;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"处理图片失败: {url}, 错误: {ex.Message}");
|
|
|
|
|
return string.Empty;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public async void DrawingImgAsync()
|
|
|
|
|
{
|
|
|
|
|
string url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/lQLPJyIVimQWGKnNA4PNA6Gw1D3q5gbxUvQIiumcIx4vAA_929_899.png";
|
|
|
|
|
|