我有一个带有不规则形状对象轮廓的 png,我想将其变成蒙版。我需要用黑色填充内部,然后交换黑色和白色。它是 8 位灰度,只有 0 和 255 的值。
我不能填充外部,留下内部白色,因为轮廓本身必须包含在正区域中。(假设已经定义了黑色、白色和红色的数组值。)
mask = Vips::Image.new_from_file(fl)
mask = mask.draw_flood(black, center_x, center_y, :equal => true) * -1
这将返回一个全黑光栅。嘘!这可行,但丑陋且效率低下。
mask = mask.draw_flood(black, center_x, center_y, :equal => true)
mask = mask.draw_flood(red, 0, 0, :equal => true)
mask = mask.draw_flood(white, center_x, center_y, :equal => true)
mask = mask.draw_flood(black, 0, 0, :equal => true)
有谁知道更优雅的解决方案?感谢您的任何指导。