اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

لدي مشكلة في هذا الكود وهو قراءة محتواة الصورة 

عند تشغيله يعطيني خطا بان الرابط ليس صالحا ولكن انا متاكد من الرابط هل يوجد حل

from PIL import Image
import pytesseract

# قراءة الصورة
image = Image.open('https://2.bp.blogspot.com/--I_lNobSfMk/V8MKPK9wDLI/AAAAAAAAY1Q/cyzstRG2EWoobUk0D3xNvojqwYFIeY1NwCLcB/s1600/kalam-hob-english%2B%25282%2529.jpg')

# استخدام Tesseract لتحليل النص في الصورة
text = pytesseract.image_to_string(image, lang='eng') # استخدم اللغة المناسبة

# طباعة النص
print(text)

 

Recommended Posts

  • 0
نشر
بتاريخ 12 ساعة قال Waleed Alomar:

السلام عليكم

لدي مشكلة في هذا الكود وهو قراءة محتواة الصورة 

عند تشغيله يعطيني خطا بان الرابط ليس صالحا ولكن انا متاكد من الرابط هل يوجد حل

مشكلتك متعلقة بأن الوظيفة image في PIL تستخدم لقراءة الصورة الموجودة على جهازك وليس من خلال رابط على الانترنت ولكن لتحل هذه المشكلة ولتقوم بقراءة الصورة بشكل صحيح يجب عليك أن تقوم بالحصول على الصورة من خلال الرابط ويتم ذلك عبر مكتبة requests تستطيع استخدام التابع get المعرف فيها وتزويده بالرابط الخاص بالصورة ثم بعد ذلك حفظ الصورة باستخدام الوظيفة write مع تغيير مسار التخزين output_image كيفما تريد ثم بعد ذلك تستطيع فتح الصورة باستخدام الوظيفة open في image

import requests
from PIL import Image
import pytesseract

# تنزيل الصورة
import requests

url_image = 'https://2.bp.blogspot.com/--I_lNobSfMk/V8MKPK9wDLI/AAAAAAAAY1Q/cyzstRG2EWoobUk0D3xNvojqwYFIeY1NwCLcB/s1600/kalam-hob-english%2B%25282%2529.jpg'

output_image = '/path/image.jpg'

response = requests.get(url_image)

with open(output_image, 'wb') as file:
    file.write(response.content)
    
image = Image.open(output_image)

لا تنسى تغيير output_image حسب حاجتك وبعد ذلك تستطيع التعامل مع الصورة وتطبيق العمليات عليها

  • 0
نشر

وعليكم السلام

يبدو أنك تستخدم مكتبة PIL و pytesseract لقراءة النص من صورة موجودة على الإنترنت. ومع ذلك، فإن مكتبة PIL لا تدعم مباشرة قراءة الصور من الإنترنت باستخدام عنوان URL.

لحل هذه المشكلة،يمكنك فعل مثل ما قال استاذ عمار في تعليقه , أو يمكنك تنزيل الصورة الموجودة على الرابط المحدد وحفظها محليًا على جهاز الخادم الخاص بك، ثم استخدام مسار الملف المحلي لقراءة الصورة باستخدام PIL.

فيما يلي مثال على كيفية تنزيل الصورة وحفظها محليًا قبل قراءتها باستخدام PIL و pytesseract:

from PIL import Image
import pytesseract
import requests
from io import BytesIO

# رابط الصورة
image_url = 'https://2.bp.blogspot.com/--I_lNobSfMk/V8MKPK9wDLI/AAAAAAAAY1Q/cyzstRG2EWoobUk0D3xNvojqwYFIeY1NwCLcB/s1600/kalam-hob-english%2B%25282%2529.jpg'

# تنزيل الصورة وحفظها محليًا
response = requests.get(image_url)
image = Image.open(BytesIO(response.content))
image.save('image.jpg')

# استخدام Tesseract لتحليل النص في الصورة
text = pytesseract.image_to_string(image, lang='eng')  # استخدم اللغة المناسبة


print(text)

هذا الكود يستخدم مكتبة `requests` لتنزيل الصورة من الرابط المحدد و`BytesIO` لتحويل المحتوى المستلم إلى أوبجيكت صورة قابل للقراءة بواسطة PIL. ثم يتم حفظ الصورة المحملة محليا باسم "image.jpg" قبل قراءتها باستخدام `pytesseract`.

أيضاً يجب عليك التأكد أن لديك الأذونات اللازمة للوصول إلى الصورة من الرابط المحدد وتنزيلها.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...