【问题标题】:Change image backgroud color with python使用python更改图像背景颜色
【发布时间】:2020-04-19 19:12:08
【问题描述】:

我正在尝试使用 python 更改图像的背景颜色并将其另存为具有该背景的新图像,但我似乎无法弄清楚。

enter image description here

这是我正在尝试使用的功能

import cv2
tolerancia = 10
point = (0, 0)
def floodFill(filename):
    cv2.imread(filename,0)
    cv2.floodFill(img, None, point, (255, 255, 0), (tolerancia,) * 3, (tolerancia,) * 3) # b g r
    cv2.imwrite('./images/fondonuevo.jpg', img)

关于这如何工作的任何线索?

【问题讨论】:

  • 为什么要删除import 语句?为什么用 PIL 打开图像却用 OpenCV 保存 - 它会交换红色和蓝色通道。
  • 嗨@MarkSetchell,你是对的,我现在已经更新了代码,但还是不行:/

标签: python image background cv2


【解决方案1】:

几个问题:

1) 你实际上并没有调用你的 floodFill() 函数

2) 你没有将读取文件的结果赋给变量

3) 您以灰度打开图像,但尝试为灰度图像添加颜色


import cv2
tolerancia = 10
point = (0, 0)

def floodFill(filename):
    img = cv2.imread(filename)
    cv2.floodFill(img, None, point, (255, 255, 0), (tolerancia,) * 3, (tolerancia,) * 3)
    cv2.imwrite('result.jpg',img)

floodFill('bottle.jpg')

【讨论】:

  • 哇,非常感谢!唯一的问题是,有没有办法微调结果?我尝试玩“tolerancia”,它有所改善,但不是很完美。有什么提示吗?
  • 并非如此。如果前景色和背景色差别不大,就很难区分它们——这就是人们使用色度键控的原因...en.wikipedia.org/wiki/Chroma_key
猜你喜欢
  • 2014-04-26
  • 1970-01-01
  • 2019-04-22
  • 2017-06-06
  • 2011-11-25
  • 2020-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多