AOSSIE-Org / AOSSIE-Org/PictoPy

Feat: On-device OCR to extract and copy text from images

オープン
#1,522 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Python
スター
284
フォーク
680
平均マージ
7日 5時間
マージ済み PR(30日)
4

説明

### Describe the feature

### Feature

Add a local, privacy-preserving Optical Character Recognition (OCR) feature that allows users to extract text from photos and copy it directly to their clipboard.


### Proposed Implementation & Architecture
#### 1. Backend (On-Device Inference via ONNX)
- **Model**: Integrate a lightweight, offline ONNX OCR model .
- Register the model under a new or optional feature tier so users can manage/download it locally.
- Implement a dedicated model class extending `ONNXSessionBase` for thread-safe inference.
- Index extracted text in SQLite so users can search their photo library by text found inside images.

#### 2. Frontend (Viewer & UX)
- **Viewer Action**: Add a "Scan Text" icon button .
- **Extraction Flow**:
- Triggering the action shows a subtle loading state while inference runs.
- A modal dialog displays the recognized text with line formatting preserved.
- A primary **"Copy to Clipboard"** button with immediate feedback (e.g. "Copied!").
- Handles cases where no text was found.
- Prompts the user to download/enable the OCR model from Settings if not yet installed.

### Add ScreenShots

Hi @rohan-pandeyy can i work in this feature.

### Record

- [x] I agree to follow this project's Code of Conduct
- [x] I want to work on this issue

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start by locating the viewer action, ONNXSessionBase, model registration and feature-tier settings, and SQLite indexing paths. Review how the viewer should handle loading, modal text display, no-text results, clipboard feedback, and an unavailable model. Done means offline OCR extracts selectable text, supports copying, and indexes it for photo-library search.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python, sqlite
領域
computer-vision, databases, desktop, machine-learning
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
説明が足りない
初心者へのやさしさ
28/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。