gpt4 book ai didi

python - 我如何删除这种类型的黑色图像的背景?

转载 作者:行者123 更新时间:2023-12-04 07:48:36 25 4
gpt4 key购买 nike

我想将图像背景更改为黑色。我尝试了一些代码,但没有用,有时它会删除对象。此图像中的背景可能因地点而异。出于好奇,我是否需要进行机器学习以去除此类图像的背景以获得更好的结果?
enter image description here

import numpy as np
import cv2

image = cv2.imread(r'D:/IMG_6334.JPG')
r = 150.0 / image.shape[1]
dim = (150, int(image.shape[0] * r))
resized = cv2.resize(image, dim, interpolation=cv2.INTER_AREA)
lower_white = np.array([80, 1, 1],np.uint8) #lower hsv value
upper_white = np.array([130, 255, 255],np.uint8) #upper hsv value
hsv_img = cv2.cvtColor(resized,cv2.COLOR_BGR2HSV) #rgb to hsv color space
#filter the background pixels
frame_threshed = cv2.inRange(hsv_img, lower_white, upper_white)

kernel = np.ones((5,5),np.uint8)
#dilate the resultant image to remove noises in the background
#Number of iterations and kernal size will depend on the backgound noises size
dilation = cv2.dilate(frame_threshed,kernel,iterations = 2)
resized[dilation==255] = (0,0,0) #convert background pixels to black color
cv2.imshow('res', resized)
cv2.waitKey(0)

最佳答案

这是一个单独的主题。图像抠图是您正在寻找的东西。这用于将您的背景转换为黑色,将前景转换为白色(在这种情况下您不必这样做)。查看本网站 http://alphamatting.com/所有最先进的抠图算法都存在,并尝试在你的代码中实现它。我会说这是一条很长的路,所以我可以说更好的解决方案,如果你提到删除图像背景后你打算做什么。

关于python - 我如何删除这种类型的黑色图像的背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67085311/

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