使用 python 删除背景图像 (openCV)
Remove Background Image with python (openCV)
我是电脑版的新手,我想把给定图片的背景去掉,变成白色背景。我已经尝试了这里共享的大部分代码,但没有一个正在处理我的图像。
- code_2
输入:
期望的输出:
如果你删除背景,你就没有你的 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)
结果:
我是电脑版的新手,我想把给定图片的背景去掉,变成白色背景。我已经尝试了这里共享的大部分代码,但没有一个正在处理我的图像。
- code_2
输入:
期望的输出:
如果你删除背景,你就没有你的 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)
结果: