Download src/streamlit_app.py from Delima1/trial: direct link, hf CLI and curl.
- Browser
- Download file 2.5 kB
-
https://huggingface.co/spaces/Delima1/trial/resolve/main/src/streamlit_app.py
- Command line
-
hf download hf://spaces/Delima1/trial/src/streamlit_app.py
-
curl -L -o streamlit_app.py https://huggingface.co/spaces/Delima1/trial/resolve/main/src/streamlit_app.py
2.5 kB
| import streamlit as st # Web App | |
| from PIL import Image # Image Processing (Pillow) | |
| import numpy as np # Dipertahankan untuk konsistensi meskipun tidak digunakan untuk fungsi inti | |
| # ========================= | |
| # FUNGSI UTILITAS: MEMUAT ARTIFAK/MODEL KOSONG | |
| # ========================= | |
| # Kita buat fungsi dummy ini agar struktur kode Anda mirip dengan kode OCR | |
| # yang memisahkan pemuatan sumber daya | |
| # Gunakan st.cache_data (pengganti st.cache untuk data) | |
| # atau st.cache_resource (untuk model) - di sini pakai data karena outputnya sederhana | |
| def load_placeholder_artifact(): | |
| """Memuat artefak placeholder agar struktur kode mirip dengan OCR.""" | |
| return True | |
| # ========================= | |
| # KONFIGURASI DAN JUDUL | |
| # ========================= | |
| st.set_page_config( | |
| page_title="Upload Gambar Sederhana", | |
| layout="centered" | |
| ) | |
| st.title("Upload & Tampilkan Gambar Sederhana 📸") | |
| st.markdown("---") | |
| # ========================= | |
| # LOGIKA UTAMA APLIKASI | |
| # ========================= | |
| # Panggil fungsi placeholder, mirip seperti Anda memanggil load_model() | |
| is_loaded = load_placeholder_artifact() | |
| if is_loaded: | |
| # Image Uploader (menggunakan label dan type yang sama) | |
| image_file = st.file_uploader( | |
| label="Upload gambar Anda di sini", | |
| type=['png', 'jpg', 'jpeg'] | |
| ) | |
| if image_file is not None: | |
| st.markdown("### 🖼️ Pratinjau Gambar") | |
| with st.spinner("⏳ Sedang memuat gambar..."): | |
| # 1. Baca gambar menggunakan PIL (persis seperti di kode OCR) | |
| try: | |
| input_image = Image.open(image_file) | |
| except Exception as e: | |
| st.error(f"❌ Gagal membaca file gambar. Error: {e}") | |
| st.warning("Pastikan file yang diunggah adalah gambar yang valid.") | |
| return # Hentikan jika gagal baca | |
| # 2. Tampilkan Gambar (persis seperti di kode OCR) | |
| st.image(input_image, caption=image_file.name, use_column_width=True) | |
| # Opsional: Tampilkan dimensi | |
| st.caption(f"Dimensi: {input_image.width} x {input_image.height} piksel") | |
| st.success("✅ Gambar berhasil diunggah dan ditampilkan!") | |
| st.balloons() | |
| else: | |
| st.info("⬆️ Silakan unggah gambar PNG, JPG, atau JPEG.") | |
| else: | |
| st.error("Gagal memuat artefak/sumber daya awal.") | |
| st.markdown("---") | |
| st.caption("Fungsionalitas ini hanya untuk menguji `st.file_uploader`.") |