Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion ocr/arabic/java/advanced-ocr-techniques/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,18 @@ url: /ar/java/advanced-ocr-techniques/
قم بتمكين تطبيقات Java الخاصة بك باستخدام Aspose.OCR للتعرف الدقيق على النص. سهولة التكامل، ودقة عالية.
### [تحديد الأحرف المسموح بها في Aspose.OCR](./specify-allowed-characters/)
أطلق العنان لاستخراج النص من الصور بسلاسة باستخدام Aspose.OCR لـ Java. اتبع دليلنا خطوة بخطوة للتكامل الفعال.
### [دليل Aspose OCR GPU: تسريع استخراج النص من صور PNG](./aspose-ocr-gpu-guide-accelerate-text-extraction-from-png-ima/)
استخدم وحدة GPU في Aspose OCR لتسريع استخراج النص من صور PNG بكفاءة عالية.
### [دليل المعالجة المتوازية للتعرف على النص من الصورة باستخدام Java OCR](./recognize-text-from-image-with-java-ocr-parallel-processing/)
اكتشف كيفية تسريع استخراج النص من الصور باستخدام المعالجة المتوازية في Java OCR.
### [كيفية استخدام Aspose OCR للصور متعددة اللغات](./how-to-use-aspose-ocr-for-mixed-language-images/)
تعلم كيفية معالجة الصور التي تحتوي على نصوص بلغات مختلفة باستخدام Aspose OCR واستخراج النص بدقة وسهولة.
### [كيفية تحسين التباين في التعرف الضوئي على الحروف – دليل كامل للمعالجة المسبقة في Java](./how-to-enhance-contrast-in-ocr-complete-java-pre-processing/)
دليل شامل يوضح خطوات تحسين التباين قبل تنفيذ OCR باستخدام Java لزيادة دقة استخراج النص.

{{< /blocks/products/pf/tutorial-page-section >}}

{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}

{{< blocks/products/products-backtop-button >}}
{{< blocks/products/products-backtop-button >}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
---
category: general
date: 2026-05-06
description: يوضح دليل Aspose OCR GPU كيفية التعرف على النص من الصورة واستخراج النص
من ملف PNG باستخدام تسريع GPU للحصول على OCR سريع وموثوق.
draft: false
keywords:
- aspose ocr gpu
- recognize text from image
- extract text from png
- load image for ocr
- gpu accelerated ocr
language: ar
og_description: تعلم كيفية استخدام Aspose OCR GPU للتعرف على النص من الصورة واستخراج
النص من ملف PNG باستخدام تسريع GPU في جافا.
og_title: 'دليل aspose ocr gpu: تسريع استخراج النص'
tags:
- Aspose
- OCR
- Java
- GPU
title: 'دليل aspose ocr gpu: تسريع استخراج النص من صور PNG'
url: /ar/java/advanced-ocr-techniques/aspose-ocr-gpu-guide-accelerate-text-extraction-from-png-ima/
---

{{< blocks/products/pf/main-wrap-class >}}
{{< blocks/products/pf/main-container >}}
{{< blocks/products/pf/tutorial-page-section >}}

# aspose ocr gpu – استخراج نص سريع وموثوق من صور PNG

هل ترغب في تعزيز أداء OCR الخاص بك باستخدام **aspose ocr gpu**؟ مع Aspose OCR GPU يمكنك **التعرف على النص من الصورة** بسرعة أكبر بفضل الاستفادة من بطاقة رسومية تدعم CUDA. تخيل معالجة صورة PNG عالية الدقة في ثوانٍ بدلًا من دقائق—لن تحتاج للانتظار للحصول على النتائج.

في هذا الدرس سنستعرض كل ما تحتاجه لتبدأ العمل: تحميل صورة لـ OCR، تحويل المحرك إلى وضع GPU، وأخيرًا استخراج النص. في النهاية ستحصل على برنامج Java كامل قابل للتنفيذ **يستخرج النص من png** باستخدام تسريع GPU. لا حاجة لأي وثائق خارجية—فقط اتبع الخطوات، انسخ الكود، وستكون جاهزًا.

## ما ستحتاجه

- **Java Development Kit (JDK) 11+** – يستخدم الكود ميزات لغة Java القياسية.
- **Aspose.OCR for Java** (أحدث إصدار حتى مايو 2026). يمكنك الحصول عليه من Maven Central:

```xml
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
<version>23.12</version>
</dependency>
```

- **GPU يدعم CUDA** (NVIDIA GeForce, Quadro, أو Tesla) مع تثبيت برنامج التشغيل المناسب.
- **صورة PNG عالية الدقة نموذجية** (مثال: `sample-highres.png`) التي تريد معالجتها.

إذا لم يكن لديك GPU، سيتحول الكود تلقائيًا إلى CPU—فقط علق أسطر GPU.

## الخطوة 1 – تحميل الصورة لـ OCR

أول شيء يحتاجه أي سير عمل OCR هو مصدر الصورة. توفر Aspose OCR غلافًا مريحًا يسمى `ImageStream` يمكنه القراءة من ملف، أو مصفوفة بايت، أو حتى URL. هنا نستخدم `ImageStream.fromFile` لأنه الأكثر بساطة للتطوير المحلي.

```java
import com.aspose.ocr.*;

public class GpuOcrDemo {
public static void main(String[] args) throws Exception {

// -------------------------------------------------
// Step 1: Load the PNG you want to process
// -------------------------------------------------
OcrEngine ocrEngine = new OcrEngine();

// Replace the path with the location of your PNG file
ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png"));
```

> **لماذا هذا مهم:** تحميل الصورة بشكل صحيح يضمن أن محرك OCR يتلقى بيانات البكسل الدقيقة التي يحتاجها. استخدام `ImageStream.fromFile` يتعامل أيضًا مع خصائص PNG الشائعة (قناة ألفا، عمق اللون) تلقائيًا.

## الخطوة 2 – تمكين تسريع GPU (aspose ocr gpu)

الآن يأتي السحر: إخبار Aspose بالعمل على الـ GPU. كائن `OcrDevice` داخل المحرك يتيح لك اختيار نوع الجهاز (`CPU` أو `GPU`) وإذا كان لديك أكثر من GPU، يمكنك تحديد معرف الجهاز المحدد.

```java
// -------------------------------------------------
// Step 2: Switch to GPU mode (aspose ocr gpu)
// -------------------------------------------------
// Choose GPU as the processing device
ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU);

// Optional: select a specific GPU when multiple are present
// ocrEngine.getDevice().setDeviceId(0); // uncomment to use GPU #0
```

> **نصيحة احترافية:** إذا صادفت أخطاء `CUDA driver not found`، تحقق مرة أخرى من أن برنامج تشغيل NVIDIA يتطابق مع نسخة CUDA المطلوبة من Aspose OCR (عادةً CUDA 11.x للإصدار 23.x).
> **حالة خاصة:** عند التشغيل على خادم بدون واجهة رسومية، تأكد من أن الـ GPU غير محجوز من عملية أخرى؛ وإلا سيعود استدعاء OCR إلى CPU بصمت.

## الخطوة 3 – التعرف على النص من الصورة

مع تحميل الصورة وتحديد الجهاز، يمكنك الآن تشغيل محرك OCR. تُعيد طريقة `recognize()` كائن `OcrResult` يحتوي على النص العادي، درجات الثقة، وحتى إطارات الحدود إذا احتجت إليها لاحقًا.

```java
// -------------------------------------------------
// Step 3: Perform the OCR – recognize text from image
// -------------------------------------------------
OcrResult ocrResult = ocrEngine.recognize();

System.out.println("=== Recognized Text ===");
System.out.println(ocrResult.getText());
}
}
```

عند تنفيذ البرنامج، يجب أن ترى شيئًا مشابهًا لـ:

```
=== Recognized Text ===
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
```

> **ما تراه:** السلسلة الخام المستخرجة من PNG. إذا احتوت الصورة على جداول أو تخطيطات متعددة الأعمدة، يمكنك تمكين `LayoutAnalysis` على المحرك للحصول على نتائج أفضل (خارج نطاق هذا الدليل السريع).

## الخطوة 4 – التحقق من أن GPU يُستخدم فعليًا

من السهل افتراض أن الـ GPU يقوم بالعمل الشاق، لكن فحص سريع يمكن أن يوفر لك ساعات من التصحيح. يكتب Aspose OCR سجلًا صغيرًا عند تهيئة الجهاز.

أضف هذا المقتطف مباشرة بعد ضبط نوع الجهاز:

```java
// Verify which device is active
System.out.println("Active OCR device: " + ocrEngine.getDevice().getDeviceType());
```

إذا كان الإخراج يقرأ `GPU`، فأنت جاهز. إذا ظهر `CPU`، راجع تثبيت برنامج التشغيل أو تأكد من أن المتغير البيئي `CUDA_HOME` يشير إلى مجلد مجموعة أدوات CUDA الصحيح.

## المشكلات الشائعة وكيفية تجنبها

| العَرَض | السبب المحتمل | الحل |
|---------|--------------|-----|
| `java.lang.UnsatisfiedLinkError` بخصوص `cudart64_110.dll` | عدم وجود وقت تشغيل CUDA في `PATH` | أضف مجلد `bin` الخاص بـ CUDA إلى `PATH` النظام أو اضبط `java.library.path`. |
| OCR يُعيد سلسلة فارغة | عدم تحميل الصورة بشكل صحيح (مسار خاطئ أو صيغة غير مدعومة) | تحقق من مسار الملف، وتأكد من أن PNG غير تالف. |
| الأداء مشابه للـ CPU | رجوع إلى CPU بسبب عدم توافق برنامج التشغيل | حدّث برنامج تشغيل NVIDIA إلى النسخة المذكورة في ملاحظات إصدار Aspose OCR. |
| نفاد الذاكرة على صور كبيرة | استنفاد ذاكرة الـ GPU | قلل دقة الصورة أو قسمها إلى قطع قبل المعالجة. |

## إضافي: الرجوع إلى CPU عندما يكون GPU غير متوفر

أحيانًا قد تشغل نفس الكود على لابتوب تطوير لا يحتوي على GPU يدعم CUDA. تغليف اختيار الجهاز داخل كتلة `try‑catch` يجعل البرنامج أكثر صلابة.

```java
try {
ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU);
System.out.println("GPU acceleration enabled.");
} catch (Exception e) {
System.out.println("GPU not available – falling back to CPU.");
ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU);
}
```

الآن يعمل البرنامج نفسه في كل مكان، ولا يزال يحصل على تسريع السرعة حيثما تسمح العتاد بذلك.

## مثال كامل وجاهز للتنفيذ

فيما يلي الفئة الكاملة بلغة Java التي تجمع جميع الخطوات، الفحوصات، ومنطق الرجوع المذكور أعلاه. انسخ‑الصقها في بيئة التطوير IDE، عدل مسار الصورة، وشغّلها.

```java
import com.aspose.ocr.*;

public class GpuOcrDemo {
public static void main(String[] args) throws Exception {

// -------------------------------------------------
// Initialize OCR engine and load the PNG image
// -------------------------------------------------
OcrEngine ocrEngine = new OcrEngine();
ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png"));

// -------------------------------------------------
// Try to enable GPU; fall back to CPU if needed
// -------------------------------------------------
try {
ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU);
System.out.println("GPU acceleration enabled.");
} catch (Exception ex) {
System.out.println("GPU not available – switching to CPU.");
ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU);
}

// Optional: Choose a specific GPU (uncomment if you have multiple)
// ocrEngine.getDevice().setDeviceId(0);

// -------------------------------------------------
// Run OCR – recognize text from image
// -------------------------------------------------
OcrResult ocrResult = ocrEngine.recognize();

// -------------------------------------------------
// Output the extracted text – this is the core result
// -------------------------------------------------
System.out.println("=== Recognized Text ===");
System.out.println(ocrResult.getText());

// -------------------------------------------------
// Show which device actually processed the request
// -------------------------------------------------
System.out.println("Active OCR device: " + ocrEngine.getDevice().getDeviceType());
}
}
```

**الناتج المتوقع** (مع افتراض أن PNG يحتوي على نص إنجليزي بسيط):

```
GPU acceleration enabled.
=== Recognized Text ===
The quick brown fox jumps over the lazy dog.
Active OCR device: GPU
```

إذا لم يكن الـ GPU موجودًا، سترى “CPU” في السطر الأخير بدلاً من ذلك.

## نظرة بصرية عامة

فيما يلي مخطط سريع لتدفق البيانات—من تحميل PNG إلى استرجاع النص العادي. يحتوي نص alt للصورة على الكلمة المفتاحية الأساسية لتحسين محركات البحث.

![سير عمل aspose ocr gpu – تحميل الصورة، تمكين GPU، التعرف على النص]

*Alt text: سير عمل aspose ocr gpu يُظهر كيفية تحميل الصورة لـ OCR، تمكين تسريع GPU، واستخراج النص من png.*

## ملخص وخطوات قادمة

لقد غطينا للتو كيفية **aspose ocr gpu**‑تسريع عملية **التعرف على النص من الصورة** و**استخراج النص من png**. النقاط الأساسية:

1. **تحميل الصورة** باستخدام `ImageStream.fromFile`.
2. **تمكين GPU** عبر `ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU)`.
3. **تشغيل `recognize()`** وقراءة `ocrResult.getText()`.
4. **التحقق من الجهاز** والرجوع بسلاسة إلى CPU عند الحاجة.

هل أنت مستعد لتجاوز الحدود؟ جرّب هذه التجارب:

- **معالجة دفعات:** كرّر عبر مجلد من PNGs واكتب كل نتيجة إلى ملف `.txt`.
- **تحليل التخطيط:** فعّل `ocrEngine.getOptions().setDetectDocumentStructure(true)` للحفاظ على الأعمدة والجداول.
- **توسيع متعدد‑GPU:** إذا كان جهازك يحتوي على عدة GPUs، أنشئ خيوطًا متوازية، كل منها مرتبط بـ `deviceId` مختلف.

هذه الإضافات ستعمق إتقانك لـ **gpu accelerated ocr** وتفتح الباب لمشاريع رقمنة مستندات على نطاق واسع.

---

*برمجة سعيدة! إذا واجهت أي صعوبات، اترك تعليقًا أدناه—سأكون سعيدًا بمساعدتك في حل المشكلات.*

{{< /blocks/products/pf/tutorial-page-section >}}
{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}
{{< blocks/products/products-backtop-button >}}
Loading