شرح كيفية تحويل الصورة الى نص وتحويل النص الى صوت باستخدام بايثون
من اكثر الطلبات التي عليها بحث كبير في لغة البايثون وهي كيف نقوم بتحويل الصورة الى نص او كيفية تحويل النص الى صوت وفي هذة المقالة سوف احاول ان اجمع لكم كل شيئ حول هذة القضية بشكل مبسط وايضا سوف نشارك معكم ماهي المشاكل التي سوف تقابلكم وكيف يمكنكم حلها واتمنى ان تنال هذة المقالة على اعجابكم وتكون كافية لكل التساؤلات التي تدور في راسك , حيث ان لغة بايثون من اللغات السهله والتي تقدم الكثير من الوظائف ونسبة العمل بها كبيرة جدا وذلك لانها تدخل في كثير من عمليات التطوير .
من اهم اللغات التي يجب ان تركز عليها في الاونه الاخيره وهي لغه بايثون وذلك لان هذه اللغه اصبحت مطلوبه في سوق العمل بشكل مأهول لذلك اذا كنت تبحث عن وظيفه مستقبليه في عالم البرمجه يمكنك تعلم لغه البايثون او يمكنك تعلم اي لغه برمجه اخرى لانه كما تعلمون المستقبل متجه بشكل كبير الى الذكاء الاصطناعي و الي التكنولوجيا والكمبيوتر بشكل خاص , لغه python تتميز بانها قادره على تعليمك الذكاء الاصطناعي ويمكنك استخدامه في الذكاء الاصطناعي وهي من اهم اللغات التي يجب على الجميع التركيز عليها في الفتره الحاليه. ولكن كما تعلمون ان كل لغه برمجه تظهر جديده تحل مشكله للغات التي قبلها.
لغه بايثون ظهرت عندما وجدت هنالك مشاكل في لغات البرمجه الاخرى وانها نفس الشكل تقريبا سواء java او c و c++ ف لغه بايثون وفرت علينا كتابه اكواد كثيره حيث توفر هذة اللغة اختصارات رهيبه جدا بدلا من كتابه كود جافا من 50 سطر على سبيل المثال يمكنك عمله في البايثون بحوالي 20 سطر او اقل , الامر نفسه و النتيجه نفسها ولكن syntax اللغه ابسط وايضا يوجد مكتبات تسهل عليك الكثير من العمليات والاختبارات موجوده بالبايثون سنحاول مشاركه الكثير من النماذج ومن الاختبارات ومن الامثله. التي يمكنك الاستفاده منها في تحسين مستواك في لغه بايثون.
نبذة عن تحويل الصورة الى نص بلغة python
عملية تحويل الصورة الى نص بواسطة لغة البايثون من اكثر المعليات التي يبحث الكثير منكم عنها وذلك لاهميتها وسهولتها في الواقع يوجد اكثر من طريقة للتحويل , في هذة المقالة نقدم لكم الطرق التي تستطيع من خلالها تحويل الصورة الى نص مكتوب بواسطة الذكاء الاصطناعي مع الشرح الوافي للكود المقدم , مبدئيا سوف نحتاج الى مكتبة requests و pytesseract و cv2
نبذة عن كيفية تحويل النص الى صوت باستخدام python
تحويل النص الى صوت من الاضافات الممتعه والتي سوف تستمع بعملية تطويرها ونحن سنساعدك على تطوير سكريبت بايثون لتحويل النص الى صوت مع شرح الكود حتى لو كان مستواك ضعيف في اللغه فلا تقلق نحن نوفر لك الكود وشرح له ولكن ننصحك بالبدء في تعلم البايثون من خلال موقعنا والشروحات التي نقدمها لكم .
المكتبات المستخدمه في بايثون لتحويل الصورة الى نص و صوت ؟
سوف تحتاج لمجموعة من المكتبات فكل ما عليك هو فتح cmd وكتابة الاسطر التالية لتقوم بتحميلها وتثبيها في جهازك وهذة الخطوة لابد منها لكي تتستطيع ان تعمل معك المكتبات في البايثون .
python -m pip install gtts --user
python -m pip install playsound--user
python -m pip install opencv-contrib-python --user
كيفية تحويل الصورة الى نص بلغة ألبايثون
يوجد طريقتين الاولى وهي عبارة عن api من ocr فكل ما عليك هو فتح الرابط التالي ocr image to text
بعد فتح الرابط انقر على free ocr api من الاعلى وبعدها سوف تجد مجموعة من الخطط قم باختيار الخطة المجانية وهي التي موجوده بالصورة
الان قم بتسجيل حساب في الموقع وقم بعمل subscribe وبعدها سوف تجد رسالة على الاميل الخاص بك قم بفتحها وتنشيط الحساب بعد التنشيط سوف تجد انه لديك رسالة اخرى تحتوي على api key عبارة عن مجموعة من الاحرف والكلمات قم بنسخهم في ملف text وانسخ الكود الموجود في الجزء التالي والصقة في المحرر الذي تعمل عليه سواء vscode او غيرة وقم بتغيير bd4af5a96488957 الى المفتاح الخاص بك .
كود بايثون يقوم بتحويل الصورة الى نص مكتوب
هذا الكود عبارة عن api من ocr الذي شرحناه لكم بالاعلى قم بتبديل bd4af5a96488957 الى الى المفتاح الخاص بك وبعدها قمنا بعمل متغير باسم test_file وهو يستدعي ocr_space_file عبارة عن الصورة الموجوده في ملف المشروع و اللغة التي موجوده في الصورة وبعد ذلك قمنا بعمل طباعة لمحتويات الصورة سوف تلاحظ وجود رجوع البيانات ولكن في ملف json وفي الكود التالي سوف نشرح حل لهذة المشكلة .
import requests
def ocr_space_file(filename, overlay=False, api_key='bd4af5a96488957', language='eng'):
payload = {'isOverlayRequired': overlay,
'apikey': api_key,
'language': language,
}
with open(filename, 'rb') as f:
r = requests.post('https://api.ocr.space/parse/image',
files={filename: f},
data=payload,
)
return r.content.decode()
test_file = ocr_space_file(filename='note.jpg', language='eng')
print(test_file)
كيفية قراءة اكواد json بشكل منظم
اذا كانت لديك اي بيانات من نوع json كالتي تظهر بالصورة على سبيل المثال يمكنك استخدام الموقع jsonformatter ولصق الكود بداخلة وسوف يرجع لك البيانات بشكل منظم تستطيع استخدامها وقرائتها بشكل صحيح , حيث يعاني الكثير من عملية قراءة اكواد الجيسون ولكن هذا الموقع سيحل لك هذة المشكلة , الصق الكود بداخلة وانقر على الامر process وسوف يرجع لك البيانات بشكل منظم
كيفية عرض بيانات معينة من json بواسطة بايثون
بعد ان تعرفنا على كيفة عرض البيانات الراجعه لنا من json بشكل منظم ستلاحظ ان الكلام الموجود بالصورة راجع من المكان ParsedResults ونحدد الindex الخاص به وهو 0 ومن ثم نحدد الموقع الاخر وهو ParsedText وضعهم في print والان سوف تلاحظ ظهور النص فقط في قائمة Termonal بالاسفل ( تاكد ان return الراجع من requests.post انه json ) .
import requests
def ocr_space_file(filename, overlay=False, api_key='bd4af5a96488957', language='eng'):
payload = {'isOverlayRequired': overlay,
'apikey': api_key,
'language': language,
}
with open(filename, 'rb') as f:
r = requests.post('https://api.ocr.space/parse/image',
files={filename: f},
data=payload,
)
return r.json()
test_file = ocr_space_file(filename='note.jpg', language='eng')
print(test_file['ParsedResults'][0]['ParsedText'])
كيفية تحويل النص الى صوت ببايثون
في هذا الجزء سوف نشرح لكم كيف تحويل النص الى صوت ببساطة لتحويل اي نص الى صوت ببايثون سوف نحتاج الى مكتبة gtts ومكتبة playsound سوف نقوم بعمل متغير وهنا كان الاسم gtts_image_audio ووضعنا فية النص النهائي الذي حصلنا عليه ومن ثم استخدمنا علية GTTS للتحويل لصوت بعدها قمنا بحفظ المقطع الصوتي في الجهاز عن طريق نفس المكبتة وهنا انتهى دور مكتبة gtts الان ندخل في المكتبة التي تليها وهي playsound وهنا مررنا لها مسار المقطع الصوتي في الجهاز لتشغيلة .
from playsound import playsound
import gtts
import pytesseract
def ocr_space_file(filename, overlay=False, api_key='bd4af5a96488957', language='eng'):
payload = {'isOverlayRequired': overlay,
'apikey': api_key,
'language': language,
}
with open(filename, 'rb') as f:
r = requests.post('https://api.ocr.space/parse/image',
files={filename: f},
data=payload,
)
return r.json()
test_file = ocr_space_file(filename='note.jpg', language='eng')
final_text = test_file['ParsedResults'][0]['ParsedText']
gtts_image_to_audio = gtts.gTTS(final_text)
gtts_image_to_audio.save("sound.mp3")
playsound('sound.mp3')
طريقة تحويل الصورة الى نص ببايثون
في الطريقة الاولى استخدمنا ocr لمساعدتنا في تحويل الtext الى audio ولكن مشكلته انه كان محدود بعدد معين , لذلك يوجد طريقة اخرى سوف نحتاج فيها الى تثبيت tesseract والامر بسيط جدا جدا اذا كنت تعمل على نظام ويندوز فانتقل الى الرابط التالي من موقع جيت هب , وقم بتحميل النسخة المتوافقة مع جهازك سواء 32 او 64 وتثبيتها في جهازك .
الان انتقل الى vscode وقم بلصق الامر التالي بالاعلى بعد impot وهو المسار الموجود به Tesseract التي قمت بتثبيتها
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
دعونا الان نتعرف على الكود المسؤول عن تحويل الصورة الى نص بـ python قم اولا بعمل import الخصص للمكتبات وبعدها قم بلصق الكود الذي اسفلهم وهي ببساطة يقرأ الصورة من جهازك من ثم يحولها الى RGB بعدها يقوم بعملية تحميل الصورة لنص وبعدها تحويل النص الى صوت وهذا كل مافي الامر باختصار
import cv2
import playsound
import gtts
import pytesseract
image = cv2.imread("note.jpg")
image_rgb = cv2.cvtColor(image , cv2.COLOR_BGR2RGB)
final_text = pytesseract.image_to_string(image_rgb)
print(final_text)
gtts_image_to_audio = gtts.gTTS(final_text)
gtts_image_to_audio.save("sound.mp3")
playsound.playsound('sound.mp3')