Metadata-Version: 2.1
Name: streamlit-mnist-canvas
Version: 0.1.0
Summary: A Streamlit component tailored for handwriting digit recognition using the MNIST dataset. This component allows users to draw digits on a canvas, facilitating integration with various machine learning models for digit recognition. It's ideal for educational, development, and testing purposes within Streamlit applications.
Home-page: https://github.com/Gohei/streamlit_mnist_canvas
Author: Gohei Kusumi
Author-email: gohei.kusumi@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE

# Streamlit MNIST Canvas

## Overview

This repository provides a Streamlit component, `st_mnist_canvas`, designed for creating and recognizing handwritten digits. It's a perfect tool for educational purposes, machine learning model testing, and demonstrations.

## Installation

To install Streamlit Oekaki, run the following command:

```bash
pip install streamlit-mnist-canvas
```

## Usage

`st_mnist_canvas` enables users to draw digits in a Streamlit app. The digit can then be displayed and processed, making it highly effective for use with MNIST-trained digit recognition models.

### Example
Here's how to get started with st_mnist_canvas:
```python
import streamlit as st
from streamlit_mnist_canvas import st_mnist_canvas
import numpy as np

st.subheader("Input")
result = st_mnist_canvas()

if result.is_submitted:
    st.write("Output")
    st.image(result.resized_grayscale_array, caption="Grayscale 28x28 Image")

    # Prepare the image for ML model prediction
    # image_for_prediction = np.expand_dims(result.resized_grayscale_array, axis=0)

    # Predict digit using a machine learning model
    # Example: prediction = model.predict(image_for_prediction)
    # st.write("Predicted Digit:", prediction)
```

Integrating with Machine Learning Models  
`st_mnist_canvas` can be directly integrated with ML models, especially those trained on the MNIST dataset. Once a digit is drawn and submitted, the image data, formatted as a 28x28 grayscale array, is ready for input into a pre-trained model. This allows for real-time digit recognition and analysis within your Streamlit app.

![Demo](demo.gif)

## License
This project is licensed under the MIT License - see the LICENSE file for details.
