【问题标题】:Replace white background of image with transparent using C++ / OpenCV or Matlab使用 C++ / OpenCV 或 Matlab 将图像的白色背景替换为透明
【发布时间】:2016-04-09 23:31:06
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 什么不起作用?图像分割、透明度、书写?
  • 如果你真的不想写代码,你可以在终端/命令提示符中输入一行...stackoverflow.com/a/34593735/2836621
  • 谢谢 - 我最终使用了这种方法!

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


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

【讨论】:

    猜你喜欢
    • 2015-02-03
    • 1970-01-01
    • 2019-10-02
    • 2015-06-22
    • 2012-08-07
    • 2012-09-07
    • 2011-10-02
    • 2016-08-15
    • 2019-01-03
    相关资源
    最近更新 更多