Meph1sto666 / spark

Arknights OCR tool to automatically create a detailed list of your operators.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SpectArk (SpArk)

Logics

Used librarys

  • pyautogui • screenshots and emulator automations
  • cv2 • image recognition, preprocessing etc.
  • pytesseract • text recognition

How to use the test version

  1. Install the python librarys by running pip install -r requirements.txt
  2. Get some screenshots and put them into ./userdata/targets/
  3. Run setup.bat
  4. Run spark.bat
  5. Enjoy your export in ./userdata/out/

Note The finetuning is not finished yet so it is likely you will encounter faliurs when running the program resulting in wrong or un-recognized operators.

GUI

The GUI is built using SvelteKit, Tailwind CSS and TypeScript. It is all powered by eel, which allows us to use Python functions in the GUI.

The UI library used is Skeleton.

Note The package manager used is yarn.

Development

During development, you need to run the SvelteKit development server and the GUI at the same time. The GUI will then connect to the development server, enabling features like hot reloading while also getting eel's exposed functions.

  1. Run pip install -r requirements.txt to install all the required Python packages (if not yet done)
  2. Run yarn install to install all the required packages
  3. Run yarn dev to start the development server
  4. Run python main.py --dev in another shell to start eel and connect to the development server

Note You can use the --mode flag to change the browser mode used by eel. Defaults to chrome.

Production

In production, all the files will be compiled in the build folder and the GUI will be started using the compiled files.

  1. Compile the SvelteKit files using yarn build
  2. Run python main.py to start the GUI using the compiled files

Note Because this is a desktop app, the static adapter of SvelteKit is used. This means that every file needs to be able to be pre-rendered (see the SvelteKit documentation for more information).

ToDo / feature list

Operators

  • Profession recognition
  • Rarity recognition
  • Name recognition
  • Level recogntion
  • Promotion recogntion
  • Potential recogntion
  • Skills
    • Rank recognition
    • Masteries recognition
    • [Selected skill recognition]
  • Module
    • Module stage recognition
    • Module recognition
  • [Skin recognition]
  • [Loved recognition]

Depot

  • Item position detection
  • Item type recognition
  • Item amount recognition

Profile

  • Find anchor point for RefData
  • Friendcode recognition
  • Level recognition
  • Hire date recognition
  • [Note recognition]

[Supports]

  • Find support positions
  • Operator recognition
    • Recognize potential (limiting operator selection)
    • Recognize level (limiting operator selection)
    • Recognize promotion (limiting operator selection)
    • Recognize operator by avatar

GUI

  • Do stuff

Note Features in [angular brackets] are non-compulsory and might not be implemented at any time.

Notice

SpArk is a third-party project for Arknights ©Hypergryph / Studio Montagne / Yostar and thus unaffiliated with any of its creators.

About

Arknights OCR tool to automatically create a detailed list of your operators.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 92.2%Language:HTML 2.6%Language:JavaScript 2.0%Language:TypeScript 1.3%Language:Batchfile 1.1%Language:SCSS 0.5%Language:Svelte 0.4%