【问题标题】:How can I overlay 2 binary images to save the white color on Ubuntu?如何在 Ubuntu 上叠加 2 个二进制图像以保存白色?
【发布时间】:2019-08-10 00:40:29
【问题描述】:

假设有两个相同的二进制图像(所有像素都是黑色的)。然后你拍摄第一张图像并将一些像素设为白色(例如,点(10,10)(11, 11))并对第二张图像的点(5, 4) 执行相同的操作并将结果图像保存为image1.pngimage2.png

目标是创建第三个图像 (result.png),它的每个像素都为黑色,但 3 个点:(5, 4)(10,10)(11,11),应该是白色的。如何在 Ubuntu 中自动执行此操作?

composite 看起来是一个很好的命令。我尝试使用composite -blend,然后没有找到正确的命令来保存白色。

【问题讨论】:

  • 标题实际上并没有说明一切。什么白色?它们应该如何叠加?如果你心里已经有了一个命令,你用它做了什么尝试,什么没用?这是关于编程还是只是使用一般命令?如果是后者,它应该是,例如,在超级用户中而不是在这里。
  • 请阅读How to Ask
  • @SamiKuhmonen 很抱歉,添加了详细信息。

标签: ubuntu image-processing graphics imagemagick image-segmentation


【解决方案1】:

给定 image1.png 和白点 @10,10 & 11,11

convert -size 100x100 xc:black -fill white -draw 'point 10, 10' -draw 'point 11,11' image1.png

image2.png 带有白点@ 5,4

convert -size 100x100 xc:black -fill white -draw 'point 5,4' image2.png

要按照您描述的方式组合它们,您可以使用 -composeSCREEN 选项。

composite -compose SCREEN image1.png image2.png result.png

【讨论】:

  • 这是一个很好的解决方案。但我建议始终使用 convert ... -composite 而不是旧的复合材料。 Convert 更灵活,尽管在这种情况下,composite 很好。 convert image1.png image2.png -compose screen -composite result.png。您也可以使用 -compose plus 代替 screen。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-24
  • 2020-05-07
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多