logo

Vaizdo animacinis filmas naudojant „OpenCv“ - „Python“

Paveikslėlio animacinis filmas normalią nuotrauką paverčia smagiu animacinio stiliaus paveikslu. Naudodamiesi „OpenCv“, mes tai darome išlygindami vaizdą, kad supaprastintume spalvas ir aptiktume kraštus, kad sukurtume kontūrus. Derinant šiuos veiksmus nuotrauka atrodo kaip animacinis filmas.

Būtinos sąlygos:  „OpenCV“ modulis



Artėja

  • Perskaitykite įvesties vaizdą.
  • Konvertuokite vaizdą į pilkos spalvos, kad aptiktumėte kraštus.
  • Norėdami pašalinti triukšmą, tepkite vidutinį neryškumą.
  • Norėdami aptikti kraštus, naudokite adaptyvųjį slenkstį.
  • Norėdami išsaugoti kraštus, tepkite dvišalį filtrą.
  • Norėdami sukurti animacinio filmo efektą, sumaišykite išlygintą vaizdą su kraštais.

„Python“ įgyvendinimas

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

Išvestis:

Input_image' title=Originalus vaizdas ' loading='lazy' title=Animacinių filmų išvesties vaizdas

Paaiškinimas:

  • cv2.cvtcolor () Konvertuoja vaizdą į pilkos spalvos, kad aptiktumėte kraštus.
  • cv2.medianblur () Pašalina triukšmą švaresniems kraštams.
  • CV2.adaptiveThroShold () nustato kraštus, suteikiančius į eskizą panašų efektą.
  • CV2.bilateralfilter () s Mootos spalvos, išlaikant kraštus aštrius.
  • cv2.bitwise_and () Derinkite išlygintas spalvas ir kraštus animacinio filmo efektui.