Spaces:
Sleeping
Sleeping
| pip install opencv-contrib-python | |
| source venv/bin/activate | |
| venv\Scripts\activate | |
| pip install opencv-python | |
| import streamlit as st | |
| import cv2 | |
| import numpy as np | |
| from pyzbar.pyzbar import decode | |
| from PIL import Image | |
| def decode_barcode(image): | |
| gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) | |
| barcodes = decode(gray) | |
| results = [] | |
| for barcode in barcodes: | |
| barcode_data = barcode.data.decode("utf-8") | |
| barcode_type = barcode.type | |
| results.append(f"Type: {barcode_type}, Data: {barcode_data}") | |
| return results | |
| st.title("Barcode Scanner App") | |
| st.write("Upload an image with a barcode to scan.") | |
| uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "png", "jpeg"]) | |
| if uploaded_file is not None: | |
| image = Image.open(uploaded_file) | |
| img_np = np.array(image) | |
| img_bgr = cv2.cvtColor(img_np, cv2.COLOR_RGB2BGR) | |
| st.image(image, caption="Uploaded Image", use_column_width=True) | |
| results = decode_barcode(img_bgr) | |
| if results: | |
| st.success("Barcodes Found:") | |
| for res in results: | |
| st.write(res) | |
| else: | |
| st.warning("No barcode detected. Try another image.") | |