Sketch_AI / Main.md
Wiuhh's picture
Rename replit.md to Main.md
c870405 verified

Image to Sketch Converter

Overview

This is a Python-based image processing application that converts regular photographs and images into pencil sketch style drawings. The application uses computer vision techniques to transform color images into artistic sketch representations, providing a simple command-line interface for image conversion operations.

Recent Changes

September 29, 2025

  • Created complete image-to-sketch conversion program (image_to_sketch.py)
  • Implemented core algorithms: grayscale conversion, image inversion, Gaussian blur, and color-dodge blending
  • Added comprehensive command-line interface with help system
  • Included optional sketch enhancement with adaptive thresholding
  • NEW: Built beautiful web interface with Flask backend
    • Adapted stunning dark theme design for sketch conversion
    • Drag & drop file upload with animated gradient borders
    • Real-time image processing with visual feedback
    • Side-by-side original vs sketch comparison
    • Adjustable settings (blur intensity, enhanced lines)
    • Secure file handling and automatic cleanup
  • Successfully tested complete web application and verified output quality
  • Configured workflow for easy web server deployment

User Preferences

Preferred communication style: Simple, everyday language.

System Architecture

Core Processing Architecture

  • Object-oriented design: Built around the ImageToSketch class that encapsulates all conversion logic and image processing operations
  • Pipeline-based processing: Uses a multi-step conversion process including grayscale conversion and image inversion as the foundation for sketch creation
  • File validation system: Implements robust input validation to ensure image files exist and are in supported formats before processing

Image Processing Framework

  • OpenCV integration: Primary image processing library for loading, manipulating, and converting images with support for multiple image formats
  • PIL/Pillow support: Secondary image handling capability for additional format compatibility and image operations
  • NumPy arrays: Underlying data structure for efficient image pixel manipulation and mathematical operations

Input/Output Handling

  • Multi-format support: Handles common image formats including JPG, PNG, BMP, TIFF, and WebP files
  • Command-line interface: Uses argparse for parsing command-line arguments and user input processing
  • Error handling: Comprehensive validation for file existence, format compatibility, and image loading failures

Processing Pipeline

  • Grayscale conversion: First step converts color images to grayscale using OpenCV's color space transformation
  • Image inversion: Creates negative images by inverting pixel values (255 - pixel_value) as part of the sketch effect
  • Extensible design: Architecture allows for easy addition of additional processing steps in the conversion pipeline

External Dependencies

Core Libraries

  • OpenCV (cv2): Primary computer vision library for image loading, processing, and format handling
  • NumPy: Numerical computing library for efficient array operations and pixel manipulation
  • PIL/Pillow: Python Imaging Library for additional image processing capabilities and format support

System Dependencies

  • Python 3: Requires Python 3.x runtime environment
  • argparse: Built-in Python module for command-line argument parsing
  • os and sys: Standard library modules for file system operations and system interaction

File System Requirements

  • Input validation: Depends on local file system for image file validation and loading
  • Format detection: Uses file extensions and OpenCV's built-in format detection for image compatibility