python绘制动漫人物,用python画动漫人物代码

  python绘制动漫人物,用python画动漫人物代码

  我正在尝试制作一个能使任何图像看起来像卡通漫画的功能。

  这是我到目前为止的代码:

  进口数量

  导入cv2

  __作者__=迈克尔贝耶勒

  __许可证__=GNU GPL 3.0或更高版本

  类别卡通化器:

  def __init__(self):

  self.numDownSamples=1

  self.numBilateralFilters=7

  定义渲染(自身,img_rgb):

  #使用高斯金字塔对图像进行下采样

  img_color=img_rgb

  对于_在范围(self.numDownSamples):

  img _ color=cv2。色彩向下(img _ color)

  #重复应用小型双边过滤器,而不是应用

  #一个大型过滤器

  对于_在范围(自身数字过滤器):

  img _ color=cv2。双边滤镜(img _ color,9,9,7)

  #将图像向上采样到原始大小

  对于_在范围(self.numDownSamples):

  img _ color=cv2。pyrap(图像颜色)

  #转换为灰度并应用双边模糊

  img_gray=cv2.cvtColor(img_rgb,cv2 .彩色_ RGB 2灰色)

  对于_在范围(自身数字过滤器):

  img _ gray _ blur=cv2。双边滤波器(img _ gray,9,9,7)

  #检测和增强边缘

  img _ edge=cv2。自适应阈值(img _ gray _ blur,255,

  cv2 .自适应_阈值_高斯_C,

  cv2 .THRESH_BINARY,9,5)

  #转换回彩色,以便可以与彩色图像进行位与运算

  img_edge=cv2.cvtColor(img_edge,cv2 .COLOR_GRAY2RGB)

  #确保img _颜色和img _边缘大小相同,否则按位与不起作用

  height=min(len(img_color),len(img_edge))

  width=min(len(img_color[0]),len(img_edge[0])

  img_color=img_color[0:高度,0:宽度]

  img_edge=img_edge[0:高度,0:宽度]

  返回cv2.bitwise_and(img_color,img_edge)

  我原来是这样的:

  这是我的脚本输出的内容:

  这就是我需要的:

  到目前为止我注意到的是:

  我模糊图像的代码有太多的颜色,我需要从浅色到暗色的平滑过渡。

  当我的代码产生大量噪音("孤独的"黑点)并分割线条时,目标图像有平滑的边缘,即线条。

  我尝试过更改一些参数,添加了几个随机过滤器,但我真的不知道接下来要做什么。

  任何帮助是极大的赞赏。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: