[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80105":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":10,"openIssues":11,"contributorsCount":11,"subscribersCount":11,"size":11,"stars1d":11,"stars7d":11,"stars30d":11,"stars90d":11,"forks30d":11,"starsTrendScore":11,"compositeScore":12,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":13,"fork":13,"defaultBranch":14,"hasWiki":15,"hasPages":13,"topics":16,"createdAt":8,"pushedAt":8,"updatedAt":17,"readmeContent":18,"aiSummary":19,"trendingCount":11,"starSnapshotCount":11,"syncStatus":20,"lastSyncTime":21,"discoverSource":22},80105,"Screenshot-Search-Engine","Itssaisathan\u002FScreenshot-Search-Engine","Itssaisathan",null,"Python",56,0,34,false,"main",true,[],"2026-06-12 04:01:26","# Screenshot Search Engine\n\nA fully offline, Python-based desktop application that automatically indexes your screenshots and allows you to search through them using natural language or keywords via OCR.\n\n![App Preview](assets\u002Fpreview.png) *(Preview image placeholder)*\n\n## Features\n\n- **Fully Offline**: No API keys, no cloud dependencies. Your data stays on your machine.\n- **Background OCR**: Extracts text from images using PyTesseract without freezing the UI.\n- **Smart Search**: Combines exact keyword matching with fuzzy matching to tolerate typos.\n- **Auto-Indexing**: Uses a file watcher to automatically index new screenshots added to watched folders.\n- **Duplicate Detection**: Uses Perceptual Hashing (pHash) to prevent indexing exact duplicates.\n- **Modern UI**: Built with CustomTkinter for a sleek, dark-mode ready interface.\n\n## Architecture\n\nThis app uses a clean architecture pattern:\n- **GUI**: CustomTkinter handles the modern look and feel.\n- **Database**: SQLite3 stores image paths, metadata, hashes, and OCR text.\n- **OCR Engine**: PyTesseract handles text extraction. OpenCV is used for image preprocessing (grayscale, Otsu's thresholding) to improve accuracy on UI screenshots.\n- **Background Workers**: `watchdog` monitors folders, while a threaded queue processes images sequentially.\n- **Search Engine**: `thefuzz` ranks results based on filename exact matches, OCR text exact matches, and fuzzy token ratio scores.\n\n## Prerequisites\n\nBefore running the application, you **must** install Tesseract-OCR on your system.\n\n### Installing Tesseract-OCR (Windows)\n1. Download the installer from [UB Mannheim](https:\u002F\u002Fgithub.com\u002FUB-Mannheim\u002Ftesseract\u002Fwiki).\n2. Run the installer.\n3. Ensure Tesseract is installed in a standard location like `C:\\Program Files\\Tesseract-OCR\\tesseract.exe`. The app will attempt to auto-detect it.\n\n## Installation (Source)\n\n1. Clone this repository or download the source code.\n2. Install Python 3.9+ and pip.\n3. Install the dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n4. Run the application:\n   ```bash\n   python app\u002Fmain.py\n   ```\n\n## Packaging as an Executable\n\nYou can build a standalone `.exe` using PyInstaller. \n\n1. Install PyInstaller:\n   ```bash\n   pip install pyinstaller\n   ```\n2. Run the following build command from the root directory:\n   ```bash\n   pyinstaller --noconfirm --onedir --windowed --add-data \"app\u002Fdatabase\u002Fschema.sql;app\u002Fdatabase\u002F\" --add-data \"assets;assets\u002F\" --name \"ScreenshotSearchEngine\" app\u002Fmain.py\n   ```\n3. The built application will be located in the `dist\u002FScreenshotSearchEngine` folder.\n\n> **Note**: Even as an executable, the user's system must have Tesseract-OCR installed. To create a completely standalone app, you would need to bundle the Tesseract binaries within the `assets\u002F` folder and update `app\u002Focr\u002Fengine.py` to point to the bundled executable relative path.\n\n## Usage\n\n1. Open the App.\n2. Go to **Settings** and click **Add Folder**. Select your screenshots folder.\n3. The app will immediately start indexing in the background. You can see logs in `app.log`.\n4. Go to the **Search** tab and type keywords.\n5. Click a thumbnail to see a large preview and copy the extracted text.\n\n## Future Improvements\n\n- Semantic search using local sentence-transformers.\n- Image similarity search (finding visually similar screenshots).\n- Multi-language OCR configuration from the UI.\n","这是一个基于Python的桌面应用程序，用于自动索引用户的截图，并通过自然语言或关键词进行搜索。项目利用PyTesseract实现背景OCR处理，支持模糊匹配以容忍拼写错误，同时采用感知哈希算法防止重复索引相同截图。该应用完全离线运行，不依赖任何云端服务，确保用户数据安全。使用CustomTkinter构建现代界面，支持深色模式。数据库方面采用SQLite3存储图像路径、元数据及OCR文本。适合需要快速查找大量截图中的特定内容的工作场景，如软件测试、文档编写等。",2,"2026-06-11 03:59:16","CREATED_QUERY"]