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
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()
Išvestis:
Originalus vaizdas
Animacinių filmų išvesties vaizdasPaaiš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.