def genPoints(mask_filename, output_filename, sampleRadius, rejectionSamples, levels, colors, radii): mask = cv2.imread(mask_filename) sampleRegionSize = np.array([mask.shape[0], mask.shape[1]]) grassPoints = pd.PoissonDiskSampling(sampleRadius, sampleRegionSize, rejectionSamples) maxc, minc = colors maxr, minr = radii colorList = getColorGrad(np.array(maxc), np.array(minc), levels) radiiList = getRadiusGrad(maxr, minr, levels) filteredGrassPoints = filterPoints(grassPoints, radiiList, levels, mask_filename) savePointsToFile(filteredGrassPoints, getUniqueFileName(output_filename)) colorPoints = drawPointsToImage(mask_filename, filteredGrassPoints, radiiList, colorList, levels) colorPoints.show() colorPoints.save(getUniqueFileName('img.png'))