Deniel Dimitrov commited on
Commit
2ebe0d6
Β·
1 Parent(s): fa950fa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -17
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 = 'β–ˆ@&%#*β–‘+=-:,.\/|][}{)(Β΄β€žβ€Ÿβ€šβ€›β€˜ ' # add more characters if you want
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: # make sure to use the GOD DAM transparency
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
- def image_to_ascii(file, text_size):
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
+