Skip to content

Commit bb15688

Browse files
Dalton-VDeveloper-Butters
authored andcommitted
Update Home number OCR to use multifilter method (PokemonAutomation#1341)
1 parent 8799fa2 commit bb15688

1 file changed

Lines changed: 21 additions & 2 deletions

File tree

SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxNavigation.cpp

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "CommonFramework/ImageTools/ImageBoxes.h"
1414
#include "CommonFramework/ImageTools/ImageStats.h"
1515
#include "CommonFramework/Notifications/ProgramInfo.h"
16+
#include "CommonFramework/Tools/GlobalThreadPools.h"
1617
#include "CommonTools/Images/ImageFilter.h"
1718
#include "CommonTools/OCR/OCR_Routines.h"
1819
#include "CommonTools/OCR/OCR_StringNormalization.h"
@@ -262,7 +263,20 @@ void read_summary_screen(
262263

263264
VideoSnapshot screen = env.console.video().snapshot();
264265

265-
const int dex_number = OCR::read_number_waterfill(env.console, extract_box_reference(screen, national_dex_number_box), 0xff808080, 0xffffffff);
266+
const std::vector<std::pair<uint32_t, uint32_t>> white_number_filters = {
267+
{0xff808080, 0xffffffff},
268+
{0xff909090, 0xffffffff},
269+
};
270+
271+
const int dex_number = OCR::read_number_waterfill_multifilter(
272+
env.console,
273+
GlobalThreadPools::computation_normal(),
274+
extract_box_reference(screen, national_dex_number_box),
275+
white_number_filters,
276+
true,
277+
true,
278+
20
279+
);
266280
if (dex_number <= 0 || dex_number > static_cast<int>(NATIONAL_DEX_SLUGS().size())) {
267281
OperationFailedException::fire(
268282
ErrorReport::SEND_ERROR_REPORT,
@@ -295,7 +309,12 @@ void read_summary_screen(
295309
env.console.log("Gender: " + gender_to_string(gender), COLOR_GREEN);
296310
cur_pokemon_info.gender = gender;
297311

298-
const int ot_id = OCR::read_number_waterfill(env.console, extract_box_reference(screen, ot_id_box), 0xff808080, 0xffffffff);
312+
const int ot_id = OCR::read_number_waterfill_multifilter(
313+
env.console,
314+
GlobalThreadPools::computation_normal(),
315+
extract_box_reference(screen, ot_id_box),
316+
white_number_filters
317+
);
299318
if (ot_id < 0 || ot_id > 999'999) {
300319
dump_image(env.console, ProgramInfo(), "ReadSummary_OT", screen);
301320
}

0 commit comments

Comments
 (0)