Skip to content

Commit 808dbec

Browse files
暴露ocr的版本信息供调用者检查,增加一个检查此项的单测 (#2259)
1 parent 5681cb4 commit 808dbec

File tree

5 files changed

+32
-5
lines changed

5 files changed

+32
-5
lines changed

BetterGenshinImpact/Core/Recognition/OCR/Paddle/Det.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,4 +195,6 @@ private static float GetScore(Point[] contour, Mat pred)
195195

196196
return score;
197197
}
198+
199+
public string GetConfigName => config.Name;
198200
}

BetterGenshinImpact/Core/Recognition/OCR/Paddle/PaddleOcrService.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Diagnostics;
4-
using System.Drawing;
54
using System.Globalization;
65
using System.IO;
76
using System.Linq;
@@ -201,7 +200,7 @@ private static PaddleOcrModelType Create(
201200

202201
return null;
203202
}
204-
203+
205204
/// <summary>
206205
/// 中英文优先使用V4模型,其他语言使用V5模型
207206
/// </summary>
@@ -342,4 +341,15 @@ public void Dispose()
342341
_localDetModel.Dispose();
343342
_localRecModel.Dispose();
344343
}
344+
345+
/// <summary>
346+
/// 返回(DetConfigName, RecConfigName)
347+
/// </summary>
348+
public (string, string) GetConfigName
349+
{
350+
get
351+
{
352+
return (this._localDetModel.GetConfigName, this._localRecModel.GetConfigName);
353+
}
354+
}
345355
}

BetterGenshinImpact/Core/Recognition/OCR/Paddle/Rec.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,4 +181,6 @@ private OcrRecognizerResult[] RunMulti(Mat[] srcs)
181181
}
182182
}).ToArray();
183183
}
184+
185+
public string GetConfigName => config.Name;
184186
}

Test/BetterGenshinImpact.UnitTest/CoreTests/RecognitionTests/OCRTests/PaddleOcrServiceTests.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using OpenCvSharp;
1+
using OpenCvSharp;
22
using System.Drawing;
33
using BetterGenshinImpact.Core.Recognition.OCR.Paddle;
44
using OpenCvSharp.Extensions;
@@ -72,5 +72,18 @@ public void PaddleOcrService_VariousLangWords_ShouldEqualOrMatch(string cultureI
7272
Assert.Matches(pattern, actual);
7373
}
7474
}
75+
76+
[Fact]
77+
public void PaddleOcrService_Version_ShouldBeCorrect()
78+
{
79+
//
80+
var ocrV4 = this.paddle.Get("zh-Hans", "V4");
81+
var ocrV5 = this.paddle.Get("zh-Hans", "V5");
82+
//
83+
Assert.EndsWith("V4", ocrV4.GetConfigName.Item1, StringComparison.OrdinalIgnoreCase);
84+
Assert.EndsWith("V4", ocrV4.GetConfigName.Item2, StringComparison.OrdinalIgnoreCase);
85+
Assert.EndsWith("V5", ocrV5.GetConfigName.Item1, StringComparison.OrdinalIgnoreCase);
86+
Assert.EndsWith("V5", ocrV5.GetConfigName.Item2, StringComparison.OrdinalIgnoreCase);
87+
}
7588
}
7689
}

Test/BetterGenshinImpact.UnitTest/GameTaskTests/AutoDomainTests/ResinStatusTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void RecogniseFromRegion_ResinStatusShouldBeRight(string screenshot1080p,
3737
FakeSystemInfo systemInfo = new FakeSystemInfo(new Vanara.PInvoke.RECT(0, 0, mat.Width, mat.Height), 1);
3838

3939
//
40-
var result = ResinStatus.RecogniseFromRegion(imageRegion, systemInfo, this.paddle.Get(version: ocrVersion)); // todo:System.Exception : 未找到原粹树脂图标
40+
var result = ResinStatus.RecogniseFromRegion(imageRegion, systemInfo, this.paddle.Get(version: ocrVersion));
4141

4242
//
4343
Assert.Equal(originalResinCount, result.OriginalResinCount);

0 commit comments

Comments
 (0)