File size: 1,655 Bytes
9643dd9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
45
46
47
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)