greenErrors = np.zeros((height, width)) for i in range(height): for j in range(width): yellowErros[i] = yellowGMM.getLogLikelihoodError(image[i,j]) orangeErros[i] = orangeGMM.getLogLikelihoodError(image[i,j]) greenErros[i] = greenGMM.getLogLikelihoodError(image[i,j]) ''' yellowMask = np.zeros((height, width)).astype('uint8') orangeMask = np.zeros((height, width)).astype('uint8') greenMask = np.zeros((height, width)).astype('uint8') for i in range(height): for j in range(width): yellowError = yellowGMM.getLogLikelihoodError(image[i, j]) orangeError = orangeGMM.getLogLikelihoodError(image[i, j]) greenError = greenGMM.getLogLikelihoodError(image[i, j]) if (yellowError > 12 and orangeError > 15 and greenError > 12): continue elif (yellowError == min(yellowError, orangeError, greenError)): yellowMask[i, j] = 255 elif (orangeError == min(yellowError, orangeError, greenError)): orangeMask[i, j] = 255 elif (greenError == min(yellowError, orangeError, greenError)): greenMask[i, j] = 255 yellowMask = cv2.erode(yellowMask, None, iterations=1) yellowMask = cv2.dilate(yellowMask, None, iterations=2)