HandwritingOCR / app.py
INSIGHTIST's picture
Create app.py
9643dd9 verified
Raw History Blame Contribute Delete
1.66 kB
import streamlit as st
import requests
import base64
import json
# כותרת
st.title("OCR לכתב יד בעברית - מבוסס Google Vision")
# הכנסת המפתח הסודי שלך מהשלב הראשון כאן! (שנה את הטקסט למטה עם ה-API שלך)
GOOGLE_API_KEY = "AIzaSyC1V2KKqYy6dyBx7cgyhn5-_UU4noTtljE"
# פונקציה לשליחת תמונה לגוגל
def extract_text_from_image(image):
url = f"https://vision.googleapis.com/v1/images:annotate?key={GOOGLE_API_KEY}"
img_bytes = image.read()
img_base64 = base64.b64encode(img_bytes).decode('utf-8')
payload = {
"requests": [{
"image": {"content": img_base64},
"features": [{"type": "DOCUMENT_TEXT_DETECTION"}]
}]
}
response = requests.post(url, json=payload)
result = response.json()
# מנסה להוציא טקסט מתוך התשובה
try:
extracted_text = result["responses"][0]["fullTextAnnotation"]["text"]
except KeyError:
extracted_text = "לא זוהה טקסט, נסה תמונה אחרת."
return extracted_text
# העלאת תמונה
uploaded_file = st.file_uploader("בחר תמונה עם כתב יד בעברית", type=["jpg", "jpeg", "png"])
if uploaded_file is not None:
st.image(uploaded_file, caption="התמונה שהועלתה", use_column_width=True)
if st.button("🔍 פענח טקסט"):
with st.spinner("מבצע OCR באמצעות Google Vision... ⏳"):
extracted_text = extract_text_from_image(uploaded_file)
st.subheader("📄 טקסט מזוהה:")
st.write(extracted_text)