Spaces:
Runtime error
Runtime error
import streamlit as st | |
import skimage.io as io | |
from PIL import Image | |
import numpy as np | |
import cv2 | |
def ui(): | |
st.markdown("# Items counter") | |
uploaded_file = st.file_uploader("Upload an Image", type=['png', 'jpeg', 'jpg']) | |
if uploaded_file is not None: | |
image = Image.open(uploaded_file) | |
img_array = np.array(image) | |
gray = cv2.cvtColor(img_array, cv2.COLOR_BGR2GRAY) | |
blur = cv2.GaussianBlur(gray, (11, 11), 0) | |
canny = cv2.Canny(blur, 30, 150, 3) | |
dilated = cv2.dilate(canny, (1, 1), iterations=0) | |
(cnt, hierarchy) = cv2.findContours( | |
dilated.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) | |
rgb = cv2.cvtColor(img_array, cv2.COLOR_BGR2RGB) | |
cv2.drawContours(rgb, cnt, -1, (0, 255, 0), 2) | |
st.image(rgb, width = 500, channels = 'RGB') | |
st.markdown(f"Counted Items are:{len(cnt)}") | |
if __name__ == '__main__': | |
ui() |