修改大华耕地算法
parent
57f57a318a
commit
61604fb993
|
|
@ -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";
|
||||
|
|
|
|||
Loading…
Reference in New Issue