def saveChunks(inputDir, outputDir, relevanceThreshold=255): print "saveChunks from %s to %s " % (inputDir, outputDir) imageIndex = 1 for fileName in os.listdir(inputDir): path = inputDir + '/' + fileName f, file_extension = os.path.splitext(path) if file_extension == '.png': maskImage = ImageUtils.preprocessMask(Image.open(path),210) chunks = ImageUtils.splitImageInChunks(maskImage, chunkWidth, chunkHeight) for index, c in enumerate(chunks): if(chunkIsRelevant(c)): c.save("%s/chunk-%s-%s-%s%s" % (outputDir, imageIndex, int(index % 20), int(index / 20), file_extension)) imageIndex+=1 continue if not isfile(path) or file_extension != '.jpg': continue print "- opening "+path srcImage = ImageUtils.preprocessImage(Image.open(path), 240) if file_extension == '.jpg': chunks = ImageUtils.splitImageInChunks(srcImage, chunkWidth, chunkHeight) for index, c in enumerate(chunks): savePath = "%s/chunk-%s-%s-%s%s" % (outputDir, imageIndex, int(index % 20), int(index / 20), file_extension) if(chunkIsRelevant(c, relevanceThreshold)): c.save(savePath, quality=95) print "savechunks - finished"
def getImageAndMaskDifferenceChunks(imgPath): srcImage, maskImage = getImageAndMask(imgPath) srcImage = ImageUtils.preprocessImage(srcImage,240) maskImage = ImageUtils.preprocessMask(maskImage, 210) imageChunks = ImageUtils.splitImageInChunks(srcImage, chunkWidth, chunkHeight) maskChunks = ImageUtils.splitImageInChunks(maskImage, chunkWidth, chunkHeight) return ImageUtils.getDifferenceChunks(imageChunks, maskChunks)