python怎么把照片转成卡通_使用python将图片转换为草图和漫画格式

[相关学习建议:python视频教程]

这个例子分享了python的特定代码,将图片转换成草图和漫画格式,供您参考。具体内容如下

艺术品

图片转换后的结果

源代码

# -*-编码:utf-8-*-从PIL导入cv2导入Image,ImageOps,ImageFilter#转换为卡通样式def tocarton样式(图片路径):#设置输入/输出路径和文件名img input _ filename =图片路径img output _ filename =图片路径. split(")。")+& # 39;_卡通。& # 39;+PicturePath . split(& quot;。")[1] #属性设置num_down = 2 #减少像素采样数num _ double = 7 #定义双边滤波数#读取图片img _ RGB = cv2 . imread(img input _ filename)#使用高斯金字塔减少采样img _ color = img _ RGB for _ in range(num _ down):img _ color = cv2。pyrdown (img _ color) #对范围(num _ double)重复使用小的双边滤镜而不是大的滤镜:img_color = cv2 . BilaterAlfilter(img _ color,d=9,sigmaColor=9,SigmaSpace=7) #对范围(num _ down)的图片进行上采样,使其恢复到原始大小:img _ color = cv2 .丙酮酸(img _ color) #将其转换为灰色,并使其产生中等模糊img_gray = cv2.cvtColor(img) 7) #检测边缘并增强其效果。 thresh _ binary,block size = 9,c = 2) #算法,照片的大小可能不一致#统一照片的大小高度= img _ rgb.shape 宽度= img _ RGB . shape[1]img _ color = cv2 . resize(img _ color,(Width,Height)) #转换回彩色图像img _ edge = cv2.cvtcolor (img _ edge,cv2 . color _ gray 2r GB)img _ cartonic = cv2 .bit位_ and (img _ color, img _ edge) #保存转换后的图片cv2.imwrite (img output _ filename,img _ file)文件已成功转换为漫画并保存在& # 39; +imgOutput_FileName)#草图转换的透明度转换部分def dodge(a,b,alpha): # alpha是图片透明度return min(int(a * 255/(256-b * alpha)),255)#将图片转换为草图def to ketchstyle(picturepath,blur = 25,alpha = 1.0): #设置输入/输出路径和文件名img input _ FileName = picturepath img output _ FileName = picturepath split(")。")+& # 39;_草图。& # 39;+PicturePath . split(& quot;。")[1] #转换为ima对象img =图像。打开(picturePath) #将文件转换为灰色img1 = img。转换(& # 39;L & # 39)img 2 = img1 . copy()img 2 = image ops . invert(img 2)# I in range(模糊):img 2 = img 2 . filter(image filter . blur)width,height = img 1 . size for x in range(width):y in range(height):a = img 1 . getpixel((x,y)) b = img2.getpixel((x,y)) img1.putpixel((x,y),Dodge (a,b,alpha) #保存转换后的文件img 1。保存(imgoutput _ filename)打印(& # 39;文件被成功转换成漫画,并保存在& # 39;+IMGoutPut _ FIlename)if _ name _ _ = = = & # 39;_ _ main _ _ _ & # 39;:imgInput_FileName =输入(& # 39;输入文件路径:& # 39;)而真:打印(& # 39;1.喜剧风格& # 39;)打印(& # 39;2.素描风格& # 39;)用户选择=输入(& # 39;请选择款式(只需输入序列号):& # 39;)如果用户选择。_ _ eq _ _(& # 39;1 & # 39;):ToCarttonStyle(IMginput _ FIlename)断开elif用户选择。_ _ eq _ _(& # 39;2 & # 39;):toSketchStyle(IMginput _ FIlename)break else:print(& # 39;非法输入(请输入序列号)& # 39;)中断相关学习推荐:编程视频

以上是python将图片转换为草图和漫画格式的详细内容,以及更多内容

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值