File size: 1,823 Bytes
61c7634
e15dae8
c9911aa
17bb1f6
 
fae45ed
61c7634
236866f
c34d9ea
6f3fb83
ec11b9a
6f3fb83
c34d9ea
 
 
 
 
 
236866f
62635cf
17bb1f6
5c5bd98
6f3fb83
ec11b9a
 
c34d9ea
5c5bd98
 
b6f3fea
cd7c7ec
6115563
c34d9ea
62635cf
5c5bd98
1377bb8
5c5bd98
448f880
1377bb8
5c5bd98
a635948
ec11b9a
 
db2e7bb
 
ec11b9a
db2e7bb
ec11b9a
db2e7bb
 
ec11b9a
db2e7bb
ec11b9a
 
db2e7bb
5c5bd98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from turtle import color, onclick
import streamlit as st
from PIL import Image, ImageOps
import glob
import json
import requests
import random
import io

st.set_page_config(layout="wide")
col1, col2 = st.columns(2)

m = st.markdown("""
<style>
div.stButton > button:first-child {
    background-color: rgb(204, 49, 49);
}
</style>""", unsafe_allow_html=True)

prefix = 'https://raw.githubusercontent.com/BennoKrojer/imagecode-val-set/main/image-sets-val/'
set2ids = json.load(open('set2ids.json', 'r'))
descriptions = json.load(open('valid_list.json', 'r'))

show = col1.button("Show groundtruth image index")
hide = col2.button('Hide groundtruth image index')

example = int()
example_idx = int(col1.number_input('Sample an example from the validation set', value=0, min_value=0, max_value=len(descriptions)-1))
img_set, idx, descr = descriptions[example_idx]
idx = int(idx)
images = [prefix+'/'+img_set+'/'+i for i in set2ids[img_set]]
index = int(col2.number_input('Image Index from 0 to 9', value=0, min_value=0, max_value=len(images)-1))

col1.subheader(descr)

img = images[index]
images[index] = ImageOps.expand(Image.open(io.BytesIO(requests.get(images[index], stream=True).content)),border=20,fill='blue')

caps = list(range(10))
cap = str(index)

if show:
    if index == idx:
        cap = f'{index} (GROUNDTRUTH)'
    caps[idx] = f'{idx} (GROUNDTRUTH)'
    images[idx] = ImageOps.expand(Image.open(io.BytesIO(requests.get(images[index], stream=True).content)),border=50,fill='green')
if hide:
    if index == idx:
        cap = f'{index}'
    caps[idx] = f'{idx}'
    images[idx] = Image.open(io.BytesIO(requests.get(images[index], stream=True).content))
# shown = True if len(caps[idx]) > 2 else False
# if shown 
col1.image(img, use_column_width=True, caption=cap)
col2.image(images, width=175, caption=caps)