【问题标题】:Automated Image Background removal Software [closed]自动图像背景去除软件[关闭]
【发布时间】:2011-07-25 07:07:36
【问题描述】:

我正在寻找一种工具,它可以自动从图像中移除背景,需要零人工干预。我目前正在试验一个名为 Image Magick (http://www.imagemagick.org/script/index.php) 的工具。我正在使用我拍摄的实际照片。我先拍一张背景照片,然后将一个物体放入同一帧中,然后再拍一张。我把相机放在三脚架上,这样就不会动了。该对象投射的阴影似乎会影响结果以及背景的纹理。我不介意场景的准备是否需要更多时间,只要我可以成功移除整个背景,而无需在 Photoshop(或任何其他图像编辑应用程序)中对其进行修饰。我在使用 ImageMagick 时遇到的问题是,它还删除了前景中的部分对象。有没有人知道任何其他工具或关于如何“准备”场景的建议,我只能使用这个工具或任何其他工具来干净地删除背景?非常感谢所有提示/建议/建议。谢谢大家!

【问题讨论】:

  • 您知道为什么要删除某些部分吗?它们是否与背景颜色相同?
  • 嗨帕科 - 好问题。在某些情况下,对象与背景颜色相同,在其他情况下则不同。我正在努力寻找完美的设置,以便我可以从中获得准备场景所需的内容。我正在尝试针对不同颜色背景和不同纹理背景(即粗糙的墙壁、光滑的墙壁、木栅栏等)的不同颜色的对象。您能否告诉我您是否能够为某物拍照并使用 imagemagick 完全移除背景?
  • 我正在使用我在下面的答案中编写的命令从图像中删除背景。我的情况有点不同,因为我正在处理卫星图像。我每 15 分钟获得一次云层覆盖的图像。我想删除背景(地球),所以我使用无云日的图像作为背景,并应用下面的命令。它工作得很好,因为云是白色的,我的背景没有任何白色像素。

标签: image imagemagick editing


【解决方案1】:

试试这个(使用 ImageMagick):

convert picture.jpg -fill none -fuzz 12% -draw "matte 0,0 floodfill" -flop  -draw "matte 0,0 floodfill" -flip  -draw "matte 0,0 floodfill" -flop  -draw "matte 0,0 floodfill" -flip  result.png

它基本上需要一个图像文件(即picture.jpg),并使用 12% 的模糊因子(您可以使用此值以获得更好的结果)根据图像四个角的像素颜色填充图像。经过所有这些过程,输出的图像是result.png

根据这篇文章:http://snippets.aktagon.com/snippets/558-how-to-remove-a-background-with-imagemagick

【讨论】:

  • 不错!现在使用 ImageMagick 7,您的命令将是 convert img.png -fill none -fuzz 12% -draw 'color 0,0 floodfill' -flop -draw 'color 0,0 floodfill' -flip -draw 'color 0,0 floodfill' -flop -draw 'color 0,0 floodfill' -flip result.png
【解决方案2】:

您如何使用 Imagemagick?我在一个项目中使用以下命令做类似的事情:

# Detect modified pixels
composite -compose difference picture1.jpg picture2.jpg diff.png
# Ignore minor differences (jpeg noise)
convert -threshold 25% diff.png diff2.png
# Apply mask
composite -compose CopyOpacity diff2.png picture.jpg result.png

注意:我使用的是非常旧的 imageMagick 版本(6.2.4.3)。命令语法可能已更改。

【讨论】:

  • 嗨帕科。我们是这样使用它的:convert overlaid.jpg background.jpg -compose ChangeMask -fuzz 10000 -composite background_removed.png
  • 我是否有机会获得您的电子邮件地址 Paco 直接与您交流并询问您有关 imagemagick 的更多问题?也许你能帮帮我?
  • 我很抱歉,但我认为问题应该保留在 Stackoverflow 中,以便其他有类似问题的程序员可以阅读。此外,问题将吸引更多的受众,可能会获得更多答案。
  • 也许只是玩弄模糊因子(降低它)就足够了。顺便说一句,我更喜欢旧方法(生成差异掩码),因为它具有更大的灵活性。看看这个 ImageMagick 示例Difference Image Masking and Feathering。最后一个,模糊蒙版,可能会成功。
  • 谢谢,我会继续努力的。问题在于涉及的变量很多,主要是阳光和阴影。当我在画面中引入一个更大的物体时,它似乎吸收了一些光线并当然投射了阴影,导致整体画面稍微变暗,这确实在像素级别发生了变化,并且从 imageMagick 中被感知为图片导致对象的某些部分被移除。我相信这就是它无法将物体与背景完美分离的原因。告诉我,当你拍摄真实世界的场景时,你能完美地去除它吗?
【解决方案3】:

http://FotoFuze.com 半自动进行背景去除,产品摄影效果极佳!

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 2020-04-11
    • 2015-04-14
    • 2021-10-09
    • 2020-08-15
    • 2021-04-07
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    相关资源
    最近更新 更多