קריקטורה של תמונה הופכת תמונה רגילה לתמונה מהנה בסגנון אנימציה. בעזרת OpenCV אנו עושים זאת על ידי החלקה של התמונה כדי לפשט את הצבעים ולגלות קצוות ליצירת קווי מתאר. שילוב שלבים אלה גורם לתמונה להיראות כמו קריקטורה.
תנאים מוקדמים: מודול OpenCV
גִישָׁה
- קרא את תמונת הקלט.
- המיר את התמונה לגווני אפור לגילוי קצה.
- החל טשטוש חציוני כדי להסיר רעש.
- השתמש בסף הסתגלות כדי לאתר קצוות.
- החל פילטר דו צדדי כדי להחליק את התמונה תוך שמירה על קצוות.
- שלב את התמונה המוחלקת עם קצוות כדי לייצר את אפקט המצויר.
יישום פייתון
Pythonimport 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.aptivethreshold () מגלה קצוות המעניקים אפקט דמוי סקיצה.
- cv2.bilateralfilter () s מווות צבעים תוך שמירה על קצוות חדים.
- cv2.bitwise_and () משלב צבעים וקצוות מוחלקים לאפקט המצויר.