Ali Ismael نشر 14 أكتوبر 2021 أرسل تقرير نشر 14 أكتوبر 2021 أريد وضع نص على الصورة. كيف يمكنني القيام بذلك في بايثون؟ 1 اقتباس
1 Ali Haidar Ahmad نشر 14 أكتوبر 2021 أرسل تقرير نشر 14 أكتوبر 2021 (معدل) يمكنك استخدام الدالة putText: cv2.putText(image, text, org, font, fontScale, color, thickness, lineType, bottomLeftOrigin) الوسيط الأول هو الصورة المطلوب وضع النص عليها، أما الوسيط الثاني فهو النص المطلوب وضعه، أما الوسيط الثاني فهي إحداثيات الركن الأيسر السفلي من السلسلة النصية في الصورة. يتم تمثيل الإحداثيات على شكل مجموعات من قيمتين، أي (قيمة إحداثي x، قيمة إحداثي y). أما font فيشير إلى نوع الخط. بعض أنواع الخطوط: FONT_HERSHEY_SIMPLEX, FONT_HERSHEY_PLAIN. أما الوسيط fontScale فهو عامل مقياس الخط الذي يتم ضربه في الحجم الأساسي الخاص بالخط. أما الوسيط color فهو يمثل لونها. أما الوسيط thickness فيمثل سماكة الخط بالبكسل. أما lineType فهذه معلمة اختيارية تعطي نوع الخط الذي سيتم استخدامه. أما آخر وسيط فهو وسيطة اختيارية. عندما تفعله True، يكون أصل بيانات الصورة في الزاوية اليسرى السفلية. خلاف ذلك ، يكون في الزاوية العلوية اليسرى. مثال: import cv2 # قراءة الصورة image = cv2.imread(r'C:\Users\Windows.10\Desktop\All\test5 openeye.jpg') # اسم النافذة التي يتم عرض الصورة فيها window_name = 'Image' # الخط font = cv2.FONT_HERSHEY_SIMPLEX # الإحداثيات org = (100, 50) # fontScale fontScale = 1 # red color in BGR color = (0, 0, 255) # السماكة thickness = 2 # استخدام cv2.putText() image = cv2.putText(image, 'OpenCV', org, font, fontScale, color, thickness, cv2.LINE_AA) # عرض cv2.imshow(window_name, image) cv2.waitKey(0) cv2.destroyAllWindows() تم التعديل في 14 أكتوبر 2021 بواسطة Ali Haidar Ahmad 1 اقتباس
1 Ahmed Sharshar نشر 14 أكتوبر 2021 أرسل تقرير نشر 14 أكتوبر 2021 يمكنك ببساطة استخدام الدالة puttext لوضع الكلام على الصور وهي كالتالي: cv2.putText(image, text, org, font, fontScale, color, thickness, lineType, bottomLeftOrigin) حيث تقوم بأخذ الصورة سواء بتحميلها او صنعها ووضع الكلام الذي تريده بتنسيقاته مثل اللون سمك الخط وكذلك مكان الكلام ، المثال التالي يوضح كيفية وضع الكلام على صوره صنعناها: import numpy as np import cv2 #اختيار نوع الخط font = cv2.FONT_HERSHEY_SIMPLEX # صنع صورة سوداء img = np.zeros((512,512,3), np.uint8) #كتابة الكلام على الصورة cv2.putText(img,'Hack Projects',(10,500), font, 1,(255,255,255),2) #عرض الصورة cv2.imshow("img",img) cv2.waitKey(0) يمكنك كذلك استخدامها بشكل مستمر داخل while بحيث تقوم بتغيير الكلام او ايقافه كالتالي: import cv2 path = "C:/Users//Desktop/test.jpg" img = cv2.imread(path) font = cv2.FONT_HERSHEY_SIMPLEX i = 10 while(1): cv2.imshow('img',img) k = cv2.waitKey(33) if k==27: # Esc اضغط للخروج break elif k==-1: # في العادي -1 ترجع لذا نكمل continue else: print (k) # غير ذلك اطبع القيمة على الصورة cv2.putText(img, chr(k), (i, 50), font, 1, (0, 255, 0), 1, cv2.LINE_AA) i+=15 cv2.waitKey(0) cv2.destroyAllWindows() اقتباس
السؤال
Ali Ismael
أريد وضع نص على الصورة. كيف يمكنني القيام بذلك في بايثون؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.