我必须从图像(白色背景中的汽车)创建一个二进制蒙版,但由于原始图像中存在一些隐藏层,在原始图像上看不到这些隐藏层,因此生成的蒙版似乎是错误的。最初图像是JPG格式,但我将其转换为PNG格式。
附件是原始图像和生成的二进制掩码。
有谁知道原因是什么,以及如何与之抗争?
我想不久前我遇到了类似的问题,并用以下方法解决了它:
convert -flatten image.png image.png但这一次,它没有帮助。
发布于 2018-06-13 01:31:59
正如Xenoid刚才所说的,您从一个没有干净的白色背景的图像开始。所以在ImageMagick中试试这个:
convert S8utS.png -fuzz 2% -fill white -opaque white -fill black +opaque white -morphology open octagon:5 result.png

-morphology关闭了黑区内的一些白洞。
发布于 2018-06-12 23:56:10
没有隐藏层...只是普通的JPEG压缩伪像,使您的白色不是完全白色。如果您的掩码仅位于像素的确切位置(255,255,255),则不包括这些像素。如果你不能使用一个阈值来获得这个亮度,那么你应该增加对比度和/或亮度来使你的非全白真白。这可以在初始图像的副本上完成(换句话说,您可以从优化的副本中获取蒙版以提取蒙版)。
https://stackoverflow.com/questions/50820320
复制相似问题