学习如何使用 Python 将你的照片变成卡通版本

人工智能等各类编程培训资料整理,所有资源无秘无压缩-购买会员

本文将介绍使用 Python 将普通图像转换为卡通版的各种方法。我们将使用 Python 库和包,例如OpenCV、Pillow、scikit-image和matplotlib。

以下是该过程的基本概要:

导入必要的包。使用我们正在使用的三个库之一加载图像(OpenCV,Pillow 或scikit-image)。将图像转换为灰度。获取图像的边缘。将图像转换为卡通版本。使用matplotlib.pyplot或OpenCv显示图像使用 OpenCV#importthepackages

importcv2

importmatplotlib.pyplotasplt

#Loadtheimageusingcv2

img=cv2.imread(“4.jpg”)

img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)

#Converttograyscaleandapplymedianblurtoreduceimagenoise

grayimg=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

grayimg=cv2.medianBlur(grayimg,5)

#Gettheedges

edges=cv2.adaptiveThreshold(grayimg,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,5,5)

#Converttoacartoonversion

color=cv2.bilateralFilter(img,9,250,250)

cartoon=cv2.bitwise_and(color,color,mask=edges)

#Displayoriginalimage

plt.figure(figsize=(2,2))

plt.imshow(img)

plt.axis(“off”)

plt.title(“OriginalImage”)

plt.show()

#Displaycartoonimage

plt.figure(figsize=(2,2))

plt.imshow(cartoon)

plt.axis(“off”)

plt.title(“CartoonImage”)

plt.show()

因为cv2 使用BGR颜色格式和matplotlib 使用RGB颜色格式,我们必须将BGR转换为RGB。

这可以使用以下代码完成:

img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)

如果要使用 GUI 窗口显示输出,则cv2不需要转换颜色格式。可以使用以下代码在GUI窗口中查看:

#Displayoriginalimage

cv2.imshow(“OriginalImage”,img)

#Displaycartoonimage

cv2.imshow(“Cartoon”,cartoon)

#Tokeepthewindowopenuntiltheuserclosesitwecanuse

#thecv2.waitKeymethodpassing0asparameter

cv2.waitKey(0)

#Removethewindowfromscreenandmemoryafterexitingthescript

cv2.destroyAllWindows()

结果是这样的:

使用 skimage#import the packages

fromskimageimportio,color

fromskimage.filtersimportsobel

fromskimage.segmentationimportfelzenszwalb

importmatplotlib.pyplotasplt

#Loadtheimage

img=io.imread(“original.jpg”)

#Converttograyscale

grayimg=color.rgb2gray(img)

#Applythefelzenszwalbsegmentation

segments_fz=felzenszwalb(img,scale=100,sigma=0.5,min_size=50)

#Converttoacartoonversion

cartoon=color.label2rgb(segments_fz,img,kind=avg)

#Displayoriginalimage

plt.figure(figsize=(2,2))

plt.imshow(img)

plt.axis(“off”)

plt.title(“OriginalImage”)

plt.show()

#Displaycartoonimage

plt.figure(figsize=(2,2))

plt.imshow(cartoon)

plt.axis(“off”)

plt.title(“CartoonImage”)

plt.show()

结果是这样的:

使用 PIL#Importthepackages

importmatplotlib.pyplotasplt

fromPILimportImage,ImageOps,ImageFilter

#Loadtheimage

img=Image.open(“original.jpg”)

#Converttoacartoonversion

cartoon=ImageOps.posterize(img,2)

#Displaytheoriginalimage

plt.figure(figsize=(2,2))

plt.imshow(img)

plt.axis(“off”)

plt.title(“OriginalImage”)

plt.show()

#Displaythecartoonimage

plt.figure(figsize=(2,2))

plt.imshow(cartoon)

plt.axis(“off”)

plt.title(“CartoonImage”)

plt.show()

结果是这样的:

总之,使用 Python 将图像转换为卡通是一项简单而强大的任务。借助OpenCV、Pillow 和scikit-image等包的帮助,只需几行代码即可将图像卡通化。你可以尝试使用这些工具并了解如何将你的图片变成令人惊叹的卡通图片。

快乐编码!

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » 学习如何使用 Python 将你的照片变成卡通版本