gpt4 book ai didi

python - 使用 Python openCV PIL 将黑色更改为白色但不将白色更改为黑色

转载 作者:太空宇宙 更新时间:2023-11-03 22:47:15 25 4
gpt4 key购买 nike

我正在尝试使用 cv2 或 PIL 在 python 中使用 opencv 将黑色像素更改为白色。

原图:

enter image description here

这是我的代码:

import cv2
import numpy as np

frame = cv2.imread("numptest/captcha.png")
cv2.imshow('frame',frame)

lower_black = np.array([0,0,0])
upper_black = np.array([1,1,1])
black_mask = cv2.inRange(frame, lower_black, upper_black)
cv2.imshow('mask0',black_mask)
cv2.waitKey()

结果是这样的:

enter image description here

虽然我希望它看起来像这样:

enter image description here

我也尝试过这段代码,它确实保留了那些矩形内部的内容,但仅适用于 RGB 255 255 255,而我需要它适用于更广泛的 RGB。

from PIL import Image
import numpy as np

im = Image.open('numptest/captcha.png')
im = im.convert('RGBA')
data = np.array(im)
black_areas = (red == 0) & (blue == 0) & (green == 0)
data[..., :-1][black_areas.T] = (255, 255, 255)

im2 = Image.fromarray(data)
im2.show()'

这是第二个代码的结果:

enter image description here

所以我不知道,也许最好是这些代码的某种组合,我只是不太明白如何在第二个代码中使用 inRange,这可能会解决我的问题。

最佳答案

实际上,我在写问题时找到了自己问题的答案。我刚刚更改了第二个代码。

这一行:

       black_areas = (red == 0) & (blue == 0) & (green == 0)

用这一行:

    black_areas = (red < 70) & (blue < 70) & (green < 70)

这是结果:

enter image description here

关于python - 使用 Python openCV PIL 将黑色更改为白色但不将白色更改为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45148006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com