帝王谷资源网 Design By www.wdxyy.com
引言
通过前面的文章我们已经了解到OpenCV 是一个用于计算机视觉和机器学习的开源 python 库。它主要针对实时计算机视觉和图像处理。它用于对图像执行不同的操作,这些操作使用不同的技术对图像进行转换。在本文中,我们将实现使用OpenCV将人脸图像卡通化。
让我们从导入必需的库开始!
import cv2 import numpy as np
第一次变换(卡通化)
在这个转换中,我们将找到图像的边缘,并使用双边滤波器和位操作符制作一个卡通化的图像。
# Reading the Image image = cv2.imread("image1.jpg") # Finding the Edges of Image gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) gray = cv2.medianBlur(gray, 7) edges = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 9, 10) # Making a Cartoon of the image color = cv2.bilateralFilter(image, 12, 250, 250) cartoon = cv2.bitwise_and(color, color, mask=edges) #Visualize the cartoon image cv2.imshow("Cartoon", cartoon) cv2.waitKey(0) # "0" is Used to close the image window cv2.destroyAllWindows()
第二次变换(模糊图像)
在第二次变换中,我们尝试用一个边缘保持滤波器来模糊图像,并在边缘上加入一个阈值。在这里我们使用的是高斯模糊。
#convert to gray scale grayImage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) #apply gaussian blur grayImage = cv2.GaussianBlur(grayImage, (3, 3), 0) #detect edges edgeImage = cv2.Laplacian(grayImage, -1, ksize=5) edgeImage = 255 - edgeImage #threshold image ret, edgeImage = cv2.threshold(edgeImage, 150, 255, cv2.THRESH_BINARY) #blur images heavily using edgePreservingFilter edgePreservingImage = cv2.edgePreservingFilter(image, flags=2, sigma_s=50, sigma_r=0.4) #create output matrix output =np.zeros(grayImage.shape) #combine cartoon image and edges image output = cv2.bitwise_and(edgePreservingImage, edgePreservingImage, mask=edgeImage) #Visualize the cartoon image cv2.imshow("Cartoon", output) cv2.waitKey(0) # "0" is Used to close the image window cv2.destroyAllWindows()
第三次变换(风格化)
在这一变换过程中,我们将运用风格化的手法,创造出形象的卡通效果。
cartoon_image = cv2.stylization(image, sigma_s=150, sigma_r=0.25) cv2.imshow('cartoon', cartoon_image) cv2.waitKey(0) cv2.destroyAllWindows()
第四次变换(铅笔素描)
在这个变换中,我们将分别创建一个彩色和黑白的铅笔素描草图形象。
cartoon_image1, cartoon_image2 = cv2.pencilSketch(image, sigma_s=60, sigma_r=0.5, shade_factor=0.02) cv2.imshow('pencil', cartoon_image1) cv2.waitKey() cv2.destroyAllWindows()
cv2.imshow('pencil', cartoon_image2) cv2.waitKey() cv2.destroyAllWindows()
总结
在本文中我们通过四次不同的变换将一个人脸图像进行了卡通化。通过这些变换,我们对OpenCV有了更加深入的了解,快来动手试试吧~
帝王谷资源网 Design By www.wdxyy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
帝王谷资源网 Design By www.wdxyy.com
暂无评论...
更新日志
2024年12月23日
2024年12月23日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]