使用C ++ / OpenCV或Matlab替换透明图像的白色背景

时间:2016-01-06 00:14:08

标签: c++ image matlab opencv image-processing

使用C ++ / OpenCV或Matlab我正在尝试找到一种方法,用透明背景替换文件中图像的白色背景,然后保存图像以供其他地方使用。 (图像类似于以下内容:http://www.psdgraphics.com/file/monitor-on-white-background.jpg

我理解这个任务可以通过简单的图像编辑软件轻松完成,但我需要为大量图像执行此操作。我已经尝试了诸如Make white background transparent png matlab之类的方法以及其他一些没有运气的方法。

谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 加载图像。 Loading images in OpenCV
  2. 将其转换为4通道图像。 OpenCV: transforming 3 channel image into 4 channel
  3. 确定背景的位置,相应地调整这些像素的Alpha通道。我不知道你的图像是什么样的,但如果你的图像中没有其他白色,这是一个相当简单的任务。 (如果像素是白色,那么它应该是透明的。)否则,如果图像中还有其他白色,则需要查找构成背景的白色连续区域。请参阅Flood Fill Algorithm
  4. 保存图像(参见1中的链接。)