Spaces:
Sleeping
Sleeping
File size: 1,072 Bytes
11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 11fbb91 675cb03 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# app.py
# =============
# This is a complete app.py file for a QR code scanner using Gradio and Hugging Face Transformers.
import gradio as gr
import cv2
from pyzbar.pyzbar import decode
from PIL import Image
import numpy as np
def scan_qr_code(image):
"""
Scan QR code from the uploaded image.
Args:
image (PIL.Image.Image): The uploaded image.
Returns:
str: The decoded QR code data.
"""
# Convert PIL image to OpenCV format
open_cv_image = np.array(image)
open_cv_image = open_cv_image[:, :, ::-1].copy()
# Decode QR code
decoded_objects = decode(open_cv_image)
if decoded_objects:
for obj in decoded_objects:
return obj.data.decode('utf-8')
return "No QR code found"
# Define the Gradio interface
iface = gr.Interface(
fn=scan_qr_code,
inputs=gr.inputs.Image(type="pil"),
outputs=gr.outputs.Textbox(),
title="QR Code Scanner",
description="Upload an image containing a QR code to decode it."
)
# Launch the Gradio app
if __name__ == "__main__":
iface.launch()
|