Мультфільм зображення перетворює звичайну фотографію на цікаву картину анімованого стилю. За допомогою OPENCV ми робимо це, згладжуючи зображення, щоб спростити кольори та виявити краї для створення контурів. Поєднання цих кроків робить фотографію схожим на мультфільм.
Передумови: Модуль OPENCV
Підходити
- Прочитайте вхідне зображення.
- Перетворіть зображення в сіроку шкало для виявлення краю.
- Нанесіть середню розмиту, щоб видалити шум.
- Використовуйте адаптивне поріг для виявлення країв.
- Нанесіть двосторонній фільтр, щоб згладити зображення, зберігаючи краї.
- Поєднайте згладжене зображення з країв, щоб створити ефект мультфільму.
Реалізація Python
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.adaptivethreshold () Виявляє краї, що дає ескізний ефект.
- cv2.bilateralFilter () s Кольори Mooths, зберігаючи краї різкими.
- cv2.bitwise_and () поєднує згладжені кольори та краї для мультфільму.