[python ][opencv][图片卡通化]

编程入门 行业动态 更新时间:2024-10-28 20:22:42

[python ][opencv][图片<a href=https://www.elefans.com/category/jswz/34/1760287.html style=卡通化]"/>

[python ][opencv][图片卡通化]

 

 按顺序:
              处理后的图片
               待处理图片
               源文件
下面是代码:

import os
import cv2def cartoonise(picture_name,image_path):"""图片处理部分"""cartoon_image_name = "cartoon_" + picture_namenum_bilateral = 7    # 定义双边滤波的数目img_rgb = cv2.imread(image_path+picture_name)  # 读取图片 cv2.imread('文件路径')# 用高斯金字塔降低取样 (img_rgb还要再使用,所以使用变量复制一下)img_color = img_rgb# 重复使用小的双边滤波代替一个大的滤波for _ in range(num_bilateral):  # 双边滤波  ( _ 变量(img_color = cv2.bilateralFilter(img_color,d=9,sigmaColor=9,sigmaSpace=7)#转换为灰度并且使其产生中等的模糊img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2GRAY)img_blur = cv2.medianBlur(img_gray, 7)#检测到边缘并且增强其效果img_edge = cv2.adaptiveThreshold(img_blur,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,blockSize=9,C=2)#转换回彩色图像img_edge = cv2.cvtColor(img_edge, cv2.COLOR_GRAY2RGB)img_cartoon = cv2.bitwise_and(img_color, img_edge)# 保存转换后的图片  cv2.imwrite(文件名称,文件)cv2.imwrite("cartoon_image/"+cartoon_image_name, img_cartoon)def Batch_execution():"""批量执行"""Original_image_names= os.listdir('image')print(f'一共有{len(Original_image_names)}张图片')for num in range(len(Original_image_names)):print(f'正在处理第{num+1}张图片:{Original_image_names[num].split(".")[0]}')cartoonise(Original_image_names[num],"image/") # (图片名,图片路径)print('处理完成')# print(num)Batch_execution()

对比图

 

 

更多推荐

[python ][opencv][图片卡通化]

本文发布于:2023-06-28 04:17:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/921640.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:卡通   图片   python   opencv

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!