星瞳实验室APP,快速收到回复
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • image.replace()中mask图像怎么用?



    • 目的是对一个图片mask区域使用另一个图进行覆盖,操作图片img、askpic、curimg都是灰度图:
      img = image.Image("/temp/bggray.bmp", copy_to_fb= True)
      maskpic = image.Image("/temp/mask.bmp", copy_to_fb= True)
      maskpic = maskpic..binary(forethresh)
      img.replace("/temp/curimg.bmp", mask=maskpic)
      img.save("temp/bggray.bmp")
      问题:最终得到的是只有mask区域有图像,其余部位全黑。是不是帧缓冲区覆盖的原因,那怎样使用image.replace()中的mask参数呢?



    • 只有一个缓冲区,所以你的img和maskpic是一样的内容



    • 目的是对一个图片mask区域使用另一个图进行覆盖,是什么意思?



    • 就是只替换图片中mask区域,其他区域不变。
      主要是不知道mask参数怎么用



    • mask 是另一个用作绘图操作的像素级掩码的图像。掩码应该是一个只有黑色或白色像素的图像,并且应该与你正在绘制的 image 大小相同。 仅掩码中设置的像素被修改。

      img = image.Image("/temp/bggray.bmp", copy_to_fb= True)
      maskpic = image.Image("/temp/mask.bmp", copy_to_fb= False)
      img.replace("/temp/curimg.bmp", mask=maskpic)
      

      这样应该可以。



    • 还是不行,报错。
      0_1558368846909_无标题.png
      而且是单独运行“maskpic = image.Image("/temp/mask.bmp", copy_to_fb= False)”,也是报这个错误