使用 python 删除背景图像 (openCV)

Remove Background Image with python (openCV)

我是电脑版的新手,我想把给定图片的背景去掉,变成白色背景。我已经尝试了这里共享的大部分代码,但没有一个正在处理我的图像。

输入:

期望的输出:

如果你删除背景,你就没有你的 desider 输出。

图片中的物体经过了不同的处理,类似负片,但不是负片。

如果结果是否定的,您会得到以下结果:

从输出图像很难理解执行了哪些操作。

Chanda Steven 写道:

I am new to computer version, I am trying to remove the background of the image given and make it white background.


如果这就是您想要做的全部,那么下面是 Python/OpenCV/Numpy 中的一种简单方法。

(但是你想要的结果看起来是倒过来的,所以我不确定你想要什么。)

如果您只需要将背景设为白色。然后将输入转换为灰色。复制输入并使用 Numpy 将背景更改为白色,其中灰色接近黑色。

输入:

import cv2
import numpy as np

# read image
img = cv2.imread("a_blob.jpg")

# convert img to grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# change black to white
result = img.copy()
result[gray<=2] = (255,255,255)

# write results to disk
cv2.imwrite("a_blob_white.jpg", result)

# show results
cv2.imshow("RESULT", result)
cv2.waitKey(0)

结果: