rrrrrr / app.py
Rozeeeee's picture
Create app.py
5be9215 verified
Raw
History Blame Contribute Delete
1.25 kB
import streamlit as st
import cv2
import numpy as np
import base64
from io import BytesIO
from PIL import Image
def process_image(image):
gray = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2GRAY)
_, thresh = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY)
return thresh
def detect_obstacle(thresh_img):
ground_part = thresh_img[50:, :]
air_part = thresh_img[:50, :]
ground_nonzero = np.count_nonzero(ground_part)
air_nonzero = np.count_nonzero(air_part)
if ground_nonzero > 0:
return "ground"
elif air_nonzero > 0:
return "air"
return None
st.title('障碍物检测应用')
uploaded_file = st.file_uploader("选择一张图片", type=["jpg", "jpeg", "png"])
if uploaded_file is not None:
image = Image.open(uploaded_file)
st.image(image, caption='上传的图片', use_column_width=True)
if st.button('检测障碍物'):
processed_img = process_image(image)
obstacle = detect_obstacle(processed_img)
if obstacle:
st.success(f'检测到的障碍物类型: {obstacle}')
else:
st.info('未检测到障碍物')
st.image(processed_img, caption='处理后的图片', use_column_width=True)