كرتون صورة باستخدام OpenCV - Python
يحول صورة رسم صورة عادية إلى صورة ممتعة على غرار الرسوم المتحركة. مع OpenCV ، نقوم بذلك عن طريق تنعيم الصورة لتبسيط الألوان واكتشاف الحواف لإنشاء الخطوط العريضة. الجمع بين هذه الخطوات يجعل الصورة تبدو وكأنها رسم كاريكاتوري.
المتطلبات الأساسية: وحدة OpenCV
يقترب
- اقرأ صورة الإدخال.
- تحويل الصورة إلى رمادي للكشف عن الحافة.
- تطبيق طمس متوسط لإزالة الضوضاء.
- استخدام العتبة التكيفية للكشف عن الحواف.
- ضع مرشحًا ثنائيًا لتنعيم الصورة مع الحفاظ على الحواف.
- يُمزج الصورة الملساء مع الحواف لإنتاج تأثير الكرتون.
تنفيذ بيثون
Python import cv2 img = cv2 . imread ( 'Screenshot.webp' ) if img is None : print ( 'Image not found' ) exit () # Prep grayscale & blur g = cv2 . cvtColor ( img cv2 . COLOR_BGR2GRAY ) g = cv2 . medianBlur ( g 5 ) # Edges e = cv2 . adaptiveThreshold ( g 255 cv2 . ADAPTIVE_THRESH_MEAN_C cv2 . THRESH_BINARY 9 9 ) # Smooth color c = cv2 . bilateralFilter ( img 9 250 250 ) # Combine cartoon = cv2 . bitwise_and ( c c mask = e ) cv2 . imshow ( 'Cartoon' cartoon ) cv2 . imwrite ( 'cartoon_output.webp' cartoon ) cv2 . waitKey ( 0 ) cv2 . destroyAllWindows ()
الإخراج:
الصورة الأصلية
صورة إخراج الكرتون توضيح:
- cv2.cvtcolor () يحول الصورة إلى رمادي للكشف عن الحافة.
- cv2.medianblur () يزيل الضوضاء لحواف أنظف.
- cv2.AdaptivethReshold () يكتشف الحواف التي تعطي تأثيرًا يشبه الرسم.
- cv2.bilateralfilter () s ألوان Mooths مع الحفاظ على الحواف حادة.
- cv2.bitwise_and () يجمع بين الألوان الملساء والحواف لتأثير الكرتون.