From 4b41c2fb86e6d96fbfe5b3712d3263ef8bf746e2 Mon Sep 17 00:00:00 2001 From: huiyadanli Date: Thu, 4 Jan 2024 23:36:25 +0800 Subject: [PATCH] adjustable parameters --- BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs | 4 ++-- BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.cs | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs b/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs index e615e0aa..a7b88a89 100644 --- a/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs +++ b/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.cs @@ -501,7 +501,7 @@ public class AutoDomainTask { // 左移视角 var moveAngle = angle; - if (moveAngle > 0) + if (moveAngle > 2) { moveAngle *= 2; } @@ -513,7 +513,7 @@ public class AutoDomainTask { // 右移视角 var moveAngle = 360 - angle; - if (moveAngle > 0) + if (moveAngle > 2) { moveAngle *= 2; } diff --git a/BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.cs b/BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.cs index 2afda3d6..c53c675f 100644 --- a/BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.cs +++ b/BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.cs @@ -123,8 +123,10 @@ public class Avatar var teamRa = content.CaptureRectArea.Crop(AutoFightContext.Instance().FightAssets.TeamRect); var blockX = NameRect.X + NameRect.Width * 2 - 10; var block = teamRa.Crop(new Rect(blockX, NameRect.Y, teamRa.Width - blockX, NameRect.Height * 2)); + Cv2.ImWrite($"block_{Name}.png", block.SrcMat); // 取白色区域 var bMat = OpenCvCommonHelper.Threshold(block.SrcMat, new Scalar(255, 255, 255), new Scalar(255, 255, 255)); + Cv2.ImWrite($"block_b_{Name}.png", bMat); // 矩形识别 Cv2.FindContours(bMat, out var contours, out _, RetrievalModes.External, ContourApproximationModes.ApproxSimple); @@ -146,7 +148,7 @@ public class Avatar var indexBlock = teamRa.Crop(new Rect(blockX + IndexRect.X, NameRect.Y + IndexRect.Y, IndexRect.Width, IndexRect.Height)); Cv2.ImWrite($"indexBlock_{Name}.png", indexBlock.SrcMat); var count = OpenCvCommonHelper.CountGrayMatColor(indexBlock.SrcGreyMat, 255); - if (count * 1.0 / (IndexRect.Width * IndexRect.Height) > 0.8) + if (count * 1.0 / (IndexRect.Width * IndexRect.Height) > 0.5) { return false; }