Skip to content

Commit 3d2cd57

Browse files
committed
Improve tera silhouette detection.
1 parent 5b30c01 commit 3d2cd57

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

SerialPrograms/Source/NintendoSwitch/DevPrograms/TestProgramSwitch.cpp

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,22 @@ void TestProgram::program(MultiSwitchProgramEnvironment& env, CancellableScope&
319319
// std::terminate();
320320

321321

322+
323+
ImageRGB32 image("20250430-043221293730.png");
324+
322325
#if 1
326+
{
327+
TeraSilhouetteReader reader;
328+
ImageMatch::ImageMatchResult results = reader.read(image);
329+
results.log(logger, 110);
330+
}
331+
#endif
332+
333+
334+
335+
336+
337+
#if 0
323338
ssf_press_button(context, Button::BUTTON_ZR, 1s, 60h, 0ms);
324339
// context->issue_gyro_rotate_x(&scope, 0s, 60h, 0ms, 0x1000);
325340
// context->issue_gyro_rotate_y(&scope, 0s, 60h, 0ms, 0x0000);
@@ -527,16 +542,6 @@ void TestProgram::program(MultiSwitchProgramEnvironment& env, CancellableScope&
527542
#endif
528543

529544

530-
// ImageRGB32 image("screenshot-20250224-203247822474.png");
531-
532-
#if 0
533-
{
534-
TeraSilhouetteReader reader;
535-
ImageMatch::ImageMatchResult results = reader.read(image);
536-
results.log(logger, 110);
537-
}
538-
#endif
539-
540545
#if 0
541546
{
542547
TeraTypeReader reader;

SerialPrograms/Source/PokemonSV/Inference/Tera/PokemonSV_TeraSilhouetteReader.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ void TeraSilhouetteReader::make_overlays(VideoOverlaySet& items) const{
4848
}
4949

5050
ImageMatch::ImageMatchResult TeraSilhouetteReader::read(const ImageViewRGB32& screen) const{
51-
static constexpr double MAX_ALPHA = 110;
51+
static constexpr double MAX_ALPHA = 120;
5252
static constexpr double ALPHA_SPREAD = 20;
5353

5454
const std::vector<uint32_t> BRIGHTNESS_THRESHOLDS{
@@ -61,6 +61,7 @@ ImageMatch::ImageMatchResult TeraSilhouetteReader::read(const ImageViewRGB32& sc
6161
};
6262

6363
// static int c = 0;
64+
6465
ImageMatch::ImageMatchResult slugs;
6566
for (uint32_t threshold : BRIGHTNESS_THRESHOLDS){
6667
// cout << "check0" << endl;
@@ -94,10 +95,11 @@ ImageMatch::ImageMatchResult TeraSilhouetteReader::read(const ImageViewRGB32& sc
9495

9596
// cout << "check4" << endl;
9697
ImageRGB32 filtered_image = to_blackwhite_rgb32_range(processed_image, 0xff000000, 0xff5f5f5f, true);
97-
// filtered_image.save("tera_filtered_image.png");
98+
// filtered_image.save("tera_filtered_image-" + std::to_string(c++) + ".png");
9899

99100
// cout << "check5" << endl;
100101
slugs = TERA_RAID_SILHOUETTE_MATCHER().match(filtered_image, ALPHA_SPREAD);
102+
101103
slugs.clear_beyond_alpha(MAX_ALPHA);
102104

103105
// slugs.log(global_logger_tagged(), MAX_ALPHA);

0 commit comments

Comments
 (0)