SkillAgentSearch skills...

Paint2code

Paint2code - a lightweight tool designed to transform your hand-drawn sketches into functional HTML code.

Install / Use

/learn @nico1008/Paint2code

README

Paint2Code

Welcome to Paint2Code, a robust tool designed to transform your hand-drawn sketches into functional HTML code. This innovative project leverages advanced image recognition and machine learning algorithms to interpret drawings and convert them into clean, structured HTML elements.

Features

  • Image to HTML Conversion: Upload your sketch and receive HTML code.
  • Support for Multiple HTML Elements: Detects various shapes and interprets them as different HTML elements.
  • Easy to Use Interface: User-friendly interface designed for both beginners and advanced users.
  • Multiple Encoder Models: Utilize various encoder models to enhance accuracy and flexibility in interpreting sketches.
  • Support for Multiple HTML Code Styles: Choose from different HTML coding styles to match your project requirements.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

What things you need to install the software and how to install them:

- Python 3.8 or higher
- matplotlib==3.8.0
- nltk==3.8.1
- numpy==1.26.4
- Pillow==10.3.0
- streamlit==1.33.0
- torch==2.2.1
- torchvision==0.17.1
- tqdm==4.65.0

Installing

A step-by-step series of examples that tell you how to get a development environment running:

  1. Clone the repo:
    git clone https://github.com/nico1008/paint2code
    
  2. Install the required packages:
    pip install -r requirements.txt
    

Usage

To use the original Paint2Code dataset, please visit pain2code Dataset to download it.

Model Weights

Data Placement

Place your training data in the .data/all_data folder.

Methods of Use

There are two methods to use this project: via Jupyter notebooks or Python scripts. I suggest using the Jupyter notebooks for better data visualisation.

Method 1: Using Jupyter Notebooks

  1. Data Preparation: Open prepareData.ipynb and run all cells.
  2. Model Training: Open the appropriate notebook for desired model and run all cells:
    • trainCustomCNN.ipynb for CustomCNN
    • trainMobileNet.ipynb for MobileNetV3
    • trainResNet18.ipynb for ResNet18
  3. Model Evaluation: Open the corresponding evaluation notebook and run all cells:
    • evalCustomCNN.ipynb for CustomCNN
    • evalMobileNet.ipynb for MobileNetV3
    • evalResNet18.ipynb for ResNet18

Method 2: Using Python Scripts

  1. Data Preparation:

    python prepareData.py
    
  2. Model Training:

    python train.py
    
  3. Model Evaluation:

    python eval.py
    

Web host

you can visit the paint2code website to use the model on any desired device.

Acknowledgments

I would like to thank the following resources, communities and people for their invaluable contributions and support:

  • The OpenCV team for their robust computer vision library.
  • The PyTorch community for their deep learning framework.
  • KKopilka for major moral support and love.
  • Tony Beltramelli project draws significant inspiration from Tony Beltramelli's pioneering Pix2Code modell.

Contact Me

If you have any questions, suggestions, or need further assistance, please feel free to reach out:


I hope you find Paint2Code useful! If you have any questions or feedback, please feel free to reach out.

View on GitHub
GitHub Stars17
CategoryDesign
Updated10mo ago
Forks1

Languages

Jupyter Notebook

Security Score

87/100

Audited on May 23, 2025

No findings