File size: 1,931 Bytes
d80f9cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
from PIL import Image
from assets.imagenet import img_class
import requests
from io import BytesIO
st.set_page_config(
    page_title="Распознаватель изображений",
    page_icon="🖼️",
    layout="wide",
)
st.title('Распознаватель изображений')

with st.expander("Пояснения"):
    """
    #### Нейросеть опознаёт, что изображено на картинке

    Немного технической информации:
    
    Используется нейросеть **inception_v3** с точностью **78.1%** на датасете [imagenet](https://www.image-net.org/). Никаких изменений не внесено, просто добавлен пользовательский интерфейс.
    """

upload_method = st.radio("Выбери метод загрузки", ["Файл", "URL"],key='method')
  
if st.session_state['method'] == "Файл":
    uploaded_file=st.file_uploader('# Загрузи сюда любую картинку',type=["jpg", "jpeg", "png","svg"],key='uploader')
    if uploaded_file is not None:
        st.image(uploaded_file)
        image = Image.open(uploaded_file)

elif st.session_state['method'] == "URL":
    
    pic_url=st.text_input('Или вставь сюда ссылку на картинку',key='urls')
    if pic_url != '':
        try:
            image = Image.open(requests.get(pic_url, stream=True).raw)
            st.image(image, caption="Изображение по URL")
        except:
            st.error('Не удалось загрузить картинку')
# try:        
if st.button('Определить'):
    #st.write(image)
    # st.image(image, caption='Uploaded Image', use_column_width=True)
    st.success(img_class(image))
# except:
#     st.error('Не удалось обработать картинку')