Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import cv2 | |
| import numpy as np | |
| def apply_filter(image, filter_type): | |
| if image is None: | |
| return None | |
| if filter_type == "blur": | |
| image = cv2.GaussianBlur(image, (21, 21), 0) | |
| elif filter_type == "canny": | |
| image = cv2.Canny(image, 100, 200) | |
| image = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR) | |
| elif filter_type == "grayscale": | |
| image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) | |
| image = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR) | |
| elif filter_type == "sepia": | |
| kernel = np.array( | |
| [[0.272, 0.534, 0.131], | |
| [0.349, 0.686, 0.168], | |
| [0.393, 0.769, 0.189]] | |
| ) | |
| image = cv2.transform(image, kernel) | |
| elif filter_type == "invert": | |
| image = cv2.bitwise_not(image) | |
| # else "none", do nothing | |
| return image | |
| filter_options = ["none", "blur", "grayscale", "sepia", "canny", "invert"] | |
| demo = gr.Interface( | |
| fn=apply_filter, | |
| inputs=[gr.Camera(), gr.Radio(filter_options, label="Filter")], | |
| outputs="image", | |
| live=True | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch(server_name="0.0.0.0", server_port=7860) | |