Spaces:
Running
Running
Deniel Dimitrov
commited on
Commit
Β·
2ebe0d6
1
Parent(s):
fa950fa
Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
-
from PIL import Image, ImageTk
|
2 |
import gradio as gr
|
|
|
|
|
3 |
|
4 |
def convert_to_ascii(image, text_size):
|
|
|
|
|
5 |
width, height = image.size
|
6 |
aspect_ratio = height / width
|
7 |
new_width = int(text_size)
|
@@ -10,13 +13,13 @@ def convert_to_ascii(image, text_size):
|
|
10 |
resized_image = image.resize((new_width, new_height))
|
11 |
grayscale_image = resized_image.convert('L')
|
12 |
|
13 |
-
ascii_chars = 'β@&%#*β+=-:,.\/|][}{)(Β΄βββββ '
|
14 |
|
15 |
ascii_image = ''
|
16 |
for y in range(new_height):
|
17 |
for x in range(new_width):
|
18 |
pixel_value = grayscale_image.getpixel((x, y))
|
19 |
-
if pixel_value == 255:
|
20 |
ascii_image += ' '
|
21 |
else:
|
22 |
ascii_image += ascii_chars[int(pixel_value / 255 * (len(ascii_chars) - 1))]
|
@@ -24,19 +27,10 @@ def convert_to_ascii(image, text_size):
|
|
24 |
|
25 |
return ascii_image
|
26 |
|
|
|
|
|
|
|
27 |
|
28 |
-
|
29 |
-
image = Image.open(file) # Modify this line to handle the file object correctly
|
30 |
-
return convert_to_ascii(image, int(text_size))
|
31 |
-
|
32 |
-
|
33 |
-
iface = gr.Interface(
|
34 |
-
fn=image_to_ascii,
|
35 |
-
inputs=["image", "number"],
|
36 |
-
outputs="text",
|
37 |
-
title="Image to ASCII Art",
|
38 |
-
description="Convert an image to ASCII art."
|
39 |
-
)
|
40 |
-
|
41 |
iface.launch()
|
42 |
-
|
|
|
|
|
1 |
import gradio as gr
|
2 |
+
from PIL import Image
|
3 |
+
import numpy as np
|
4 |
|
5 |
def convert_to_ascii(image, text_size):
|
6 |
+
image = Image.fromarray(image.astype('uint8'))
|
7 |
+
|
8 |
width, height = image.size
|
9 |
aspect_ratio = height / width
|
10 |
new_width = int(text_size)
|
|
|
13 |
resized_image = image.resize((new_width, new_height))
|
14 |
grayscale_image = resized_image.convert('L')
|
15 |
|
16 |
+
ascii_chars = 'β@&%#*β+=-:,.\/|][}{)(Β΄βββββ '
|
17 |
|
18 |
ascii_image = ''
|
19 |
for y in range(new_height):
|
20 |
for x in range(new_width):
|
21 |
pixel_value = grayscale_image.getpixel((x, y))
|
22 |
+
if pixel_value == 255:
|
23 |
ascii_image += ' '
|
24 |
else:
|
25 |
ascii_image += ascii_chars[int(pixel_value / 255 * (len(ascii_chars) - 1))]
|
|
|
27 |
|
28 |
return ascii_image
|
29 |
|
30 |
+
def image_to_ascii(image, text_size):
|
31 |
+
ascii_text = convert_to_ascii(image, text_size)
|
32 |
+
return ascii_text
|
33 |
|
34 |
+
iface = gr.Interface(fn=image_to_ascii, inputs=["image", "number"], outputs="text", title="Image to ASCII")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
iface.launch()
|
36 |
+
|