Spaces:
Runtime error
Runtime error
import base64 | |
import io | |
import cv2 | |
import requests | |
import json | |
import gradio as gr | |
import os | |
from PIL import Image | |
# Accessing a specific environment variable | |
api_key = os.environ.get('PXiVision') | |
# Checking if the environment variable exists | |
if not api_key: | |
print("PXiVision environment variable is not set.") | |
exit() | |
# Define a function to call the API and get the results | |
def get_results(image): | |
threshold = 0.5 | |
# Convert the NumPy array to PIL image | |
image = Image.fromarray(image) | |
# Convert the image to base64 string | |
with io.BytesIO() as output: | |
image.save(output, format="JPEG") | |
base64str = base64.b64encode(output.getvalue()).decode("utf-8") | |
# Prepare the payload | |
payload = json.dumps({"base64str": base64str, "UID": "huggingfacetestsayed"}) | |
# Send the request to the API | |
response = requests.put(api_key, data=payload) | |
# Parse the JSON response | |
data = response.json() | |
# data = json.loads(data) | |
# Access the values | |
num = data['num'] | |
char = data['char'] | |
timeOfResponse = data['time'] | |
requestInfo = data['info'] | |
return [num, char, timeOfResponse, requestInfo] | |
# Define the input component for Gradio | |
image_input = gr.inputs.Image() # Adjust the shape according to your requirements | |
# Define the output components for Gradio | |
output_components = [] | |
for label in ["Numbers", "char", "Time of Response", "Request Info"]: | |
output_components.append(gr.outputs.Textbox(label=label)) | |
# Launch the Gradio interface | |
gr.Interface(fn=get_results,examples=["test.jpg"], inputs=image_input, outputs=output_components).launch(share=False) |