AI Sketch Converter - Convert Any Image to Sketch in 1 Click Using Python

Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡

















πŸ“Œ Features

✅ AI-powered Sketch Converter
✅ OpenCV Image Processing
✅ No TensorFlow Required
✅ Save High-Quality Sketches
✅ Full Source Code Provided

Code :


import cv2

import numpy as np

import tkinter as tk

from tkinter import filedialog

from PIL import Image, ImageTk


# Global variable for storing the loaded image

global_image = None  


def sketch_transform(image):

    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    inv = cv2.bitwise_not(gray)

    blur = cv2.GaussianBlur(inv, (21, 21), 0)

    sketch = cv2.divide(gray, 255 - blur, scale=256)

    return sketch


def open_image():

    global global_image

    file_path = filedialog.askopenfilename(filetypes=[("Image Files", "*.jpg;*.png;*.jpeg")])

    

    if file_path:

        global_image = cv2.imread(file_path)  # Store the image globally

        sketch = sketch_transform(global_image)


        # Convert sketch for Tkinter display

        sketch_pil = Image.fromarray(sketch)

        sketch_tk = ImageTk.PhotoImage(sketch_pil)


        label_img.config(image=sketch_tk)

        label_img.image = sketch_tk


def save_image():

    global global_image

    if global_image is None:

        print("No image loaded!")

        return


    file_path = filedialog.asksaveasfilename(defaultextension=".png", filetypes=[("PNG files", "*.png"), ("JPEG files", "*.jpg")])

    if file_path:

        cv2.imwrite(file_path, cv2.cvtColor(sketch_transform(global_image), cv2.COLOR_GRAY2BGR))


# Create GUI

root = tk.Tk()

root.title("AI Sketch Converter - No TensorFlow!")

root.geometry("500x600")

root.configure(bg="#1e1e1e")


btn_open = tk.Button(root, text="Open Image", command=open_image, font=("Arial", 14), bg="#3498db", fg="white")

btn_open.pack(pady=20)


label_img = tk.Label(root, bg="#1e1e1e")

label_img.pack()


btn_save = tk.Button(root, text="Save Sketch", command=save_image, font=("Arial", 14), bg="#2ecc71", fg="white")

btn_save.pack(pady=20)


root.mainloop()

Comments

Popular posts from this blog

Is This News Real or Fake? πŸ€– AI Exposes the Truth | FuzzuTech Python App Demo

🚨 Python Intrusion Detection System (IDS) – Real-Time ML + Tkinter GUI Project | FuzzuTech

πŸš€ Simple Login & Registration System in Python Tkinter πŸ“±