filters / app.py
Jainam Jain
Updated Module
d372282
raw
history blame
2.67 kB
import os
import cv2
import numpy as np
import streamlit as st
from webcam import webcam
from images import image_transformations
from PIL import Image
title = st.empty()
title.header("Image Filter")
img_extensions = ["jpg","png","jpeg"]
def show_info():
st.subheader('''
Creator Jainam Jain:
''')
st.markdown("### **Filters used:Cartoon")
st.write("")
st.sidebar.subheader("Choose the mode of operation: ")
selected_option = st.sidebar.selectbox("",["Select from below","Image Filters","Video Filters"])
if selected_option == "Image Filters":
title.header("Image Filters")
img_operation_mode = st.selectbox("Upload Images from: ",["-- Select from below --","Local Storage","Take a snap from Webcam"])
if img_operation_mode == "Local Storage":
uploaded_file = st.file_uploader("Upload images from local storage here",type = img_extensions)
if uploaded_file is not None:
image_byte = np.asarray(bytearray(uploaded_file.read()), dtype=np.uint8)
uploaded_file.seek(0)
img_bytes = uploaded_file.read()
decoded_img = cv2.imdecode(np.frombuffer(img_bytes, np.uint8), -1)
result = decoded_img
inp_img = cv2.imdecode(image_byte, 1)
filter = st.selectbox("Choose an Image filter: ",["Basic Image Editing","Thug Life","Green Screen","Moustaches",\
"Devil-ie","Heart Eyes","John Cena XD","Cartoonie","Face Blur"],0)
image_transformations(result,inp_img,filter,uploaded_file.name.split("."))
elif img_operation_mode == "Take a snap from Webcam":
result = webcam()
if result is None:
st.write("Waiting for capture...")
else:
st.write("Got an image from the webcam :P")
result = cv2.cvtColor(np.asarray(result,np.uint8),cv2.COLOR_RGB2BGR)
filter = st.selectbox("Choose an Image filter: ",["Basic Image Editing","Thug Life","Green Screen","Moustaches",\
"Devil-ie","Heart Eyes","John Cena XD","Cartoonie","Face Blur"],0)
image_transformations(result,filter)
else:
st.sidebar.markdown('''
This section contains filters to be applied on images.
Images can be uploaded either from local storage (or) from your webcamera.
''')
st.sidebar.markdown("Choose the source of image, from the drop list on right :point_right:")
st.sidebar.subheader("Tips for operating on Image Filters: ")
st.sidebar.markdown('''
* Un edited pictures provide the best results.
* Link to download the edited pictures are at the bottom of the page
''')