logo

Мультфільм із зображенням за допомогою OpenCV - Python

Мультфільм зображення перетворює звичайну фотографію на цікаву картину анімованого стилю. За допомогою OPENCV ми робимо це, згладжуючи зображення, щоб спростити кольори та виявити краї для створення контурів. Поєднання цих кроків робить фотографію схожим на мультфільм.

Передумови:  Модуль OPENCV



Підходити

  • Прочитайте вхідне зображення.
  • Перетворіть зображення в сіроку шкало для виявлення краю.
  • Нанесіть середню розмиту, щоб видалити шум.
  • Використовуйте адаптивне поріг для виявлення країв.
  • Нанесіть двосторонній фільтр, щоб згладити зображення, зберігаючи краї.
  • Поєднайте згладжене зображення з країв, щоб створити ефект мультфільму.

Реалізація Python

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() 

Вихід:

Вхід_image' title=Оригінальне зображення ' loading='lazy' title=Мультфільм Вихід зображення

Пояснення:

  • cv2.cvtcolor () Перетворює зображення на сіроку шкало для виявлення краю.
  • Cv2.medianblur () Видаляє шум для більш чистих країв.
  • cv2.adaptivethreshold () Виявляє краї, що дає ескізний ефект.
  • cv2.bilateralFilter () s Кольори Mooths, зберігаючи краї різкими.
  • cv2.bitwise_and () поєднує згладжені кольори та краї для мультфільму.