Python I';我想知道背景是彩色的还是单色的
我想知道背景是彩色的还是单色的 我把前景中的物体变成黑色,我找不到一种方法来确定背景是彩色的还是单色的 İnputİmagePython I';我想知道背景是彩色的还是单色的,python,opencv,image-processing,colors,computer-vision,Python,Opencv,Image Processing,Colors,Computer Vision,我想知道背景是彩色的还是单色的 我把前景中的物体变成黑色,我找不到一种方法来确定背景是彩色的还是单色的 İnputİmage 首先,您的代码有两个问题: 您的ROI(rect)比图像大,仅前7行用作背景。您可以考虑定义更精确的ROI,或者使用GCIEVAGE模式代替。 您正在以下位置提取前景而不是背景: mask=np.where((mask==3)|(mask==1),0,1.astype('uint8')) img=img*掩码[:,:,np.newaxis] 您对图像的颜色感兴趣,但您
首先,您的代码有两个问题:
rect
)比图像大,仅前7行用作背景。您可以考虑定义更精确的ROI,或者使用GCIEVAGE模式代替mask=np.where((mask==3)|(mask==1),0,1.astype('uint8'))
img=img*掩码[:,:,np.newaxis]
resim=cv2.imread(“histogram.jpg”,0)
img = img*mask[:, :, np.newaxis]
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
saturation_threshold = 20 # try different thresholds to see which value works for you
ratio = numpy.count_nonzero(hsv[:,:,1] > saturation_threshold ) / numpy.count_nonzero(mask)
比率将是非灰度的像素数mask=np.where((mask==0)|(mask==2),0,1).astype('uint8')
img=img*mask[:,:,np.newaxis]
此时未初始化mask,因此为零。另外,如果要使用矩形进行初始化,请将模式更改回带有掩码的cv2.GC_INIT_
img = img*mask[:, :, np.newaxis]
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
saturation_threshold = 20 # try different thresholds to see which value works for you
ratio = numpy.count_nonzero(hsv[:,:,1] > saturation_threshold ) / numpy.count_nonzero(mask)