CoolFace
Apppublic

epochTechnology/sdk.ocr

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.py87 linesDownload Raw Back to root
1import streamlit as st2from PIL import Image3import detect_with_paddle4import detect5import cv26import preproccess7import numpy as np8import fitz9 10def main():11    st.set_page_config(layout="wide")12 13    with st.container():14        st.title("Epoch Technology OCR")15        col1, col2 = st.columns(2, gap="medium")16        17        with col1:18            uploaded_file = st.file_uploader("Upload a file", type=["pdf", "jpg", "jpeg", "png"])19            if uploaded_file is not None:20                # Görüntüyü yükle21                file_extension = get_file_extension(uploaded_file.name)22                if file_extension  == "pdf":23                    pdf_to_images = pdf_to_image(uploaded_file)24                else:25                    image = Image.open(uploaded_file)26                    st.image(image, caption="Uploaded File", use_column_width=True)27 28        with col2:29            if uploaded_file is not None:30 31                if st.button(key="read",label="Read Document"):32                    if file_extension  == "pdf":33                        extracted_text = extract_text_on_pdf(pdf_to_images)34                        st.write(extracted_text)35                    else:36                        extracted_text = extract_text_on_image(image)37                        st.write(extracted_text)38 39def extract_text_on_image(image):40    result = []41    try:42        img_array = np.array(image)43        result = detect_with_paddle.detect_paddle_OCR(img_array)44    except Exception as e:45        print(f"error:{e}")46 47    return result48def extract_text_on_pdf(pdf_to_images):49    results = []50    for image in pdf_to_images:51        try:52            result = detect_with_paddle.detect_paddle_OCR(image=image)53            results.append(result)54        except Exception as e:55            print(f"error:{e}")56    57    return results58def pdf_to_image(pdf_file):59    pdf_document = fitz.open("pdf", pdf_file.read())60    images = []61    for page_number in range(pdf_document.page_count):62        page = pdf_document[page_number]63        pixmap = page.get_pixmap(dpi=400)64        image = Image.frombytes("RGB", [pixmap.width, pixmap.height], pixmap.samples)65        img_array = np.array(image)66        img_array_bgr = cv2.cvtColor(img_array, cv2.COLOR_RGB2BGR)67        #image = preproccess.preprocess_image(img_array_bgr)68        images.append(img_array_bgr)69    pdf_document.close()70 71    for image in images:72        pil_image = Image.fromarray(image)73        st.image(pil_image, caption="Uploaded File", use_column_width=True)74 75    return images76 77 78def get_file_extension(file_name):79    # Dosya adındaki en son kısmı alarak dosya uzantısını bulma80    parts = file_name.split(".")81    if len(parts) > 1:82        return parts[-1].lower()83    else:84        return None85    86if __name__ == "__main__":87    main()