for i in range(0, image.shape[0]): for j in range(0, image.shape[1]): if image[i, j] == 255: imagePix[i, j] = 255 recInf = morpho.myReconInf(imagePix, image, gamma8) image = image - recInf (width, length) = firstGrainSizes(recInf) outputImage = outputImage + (recInf / 255 * (255 - width * 10)) mesures.append((i, j, width, length)) return (outputImage, mesures) image = cv2.imread('Images/rice.png') morpho.displayImage("Original Image", image) image = image[:, :, 0] gamma8 = strel.build("square", 1, None) struct = strel.build("disc", 5, None) open = morpho.myOpen(image, struct) image = image - open image = morpho.myThreshold(image, 50) morpho.displayImage("Image filtered", image)
import cv2 import numpy as np from myLibs.ImageProcessing.MorphologicalImageProcessing import structElement as strel, morpho, myimage imagename = 'Images/chromosomes.tif' image = cv2.imread(imagename)[:, :, 0] disc = strel.build("disc", 5, None) gamma8 = strel.build("square", 1, None) morpho.displayImage("Original Image", image) count = morpho.countElements(image) while count > 4: image = morpho.myDilat(image, disc) count = morpho.countElements(image) print("Clusters identified") imagePix = np.zeros(image.shape, image.dtype) imageFin = np.zeros(image.shape, image.dtype) idcluster = 0 for i in range(0, image.shape[0]): for j in range(0, image.shape[1]): if image[i, j] == 255: color = (idcluster + 1) * 50 imagePix[i, j] = 255 recInf = morpho.myReconInf(imagePix, image, gamma8) idcluster += 1
import cv2 import numpy from myLibs.ImageProcessing.MorphologicalImageProcessing import structElement as strel, morpho image = cv2.imread('Images/aeroport2.png') image = image[:, :, 0] morpho.displayImage("Original", image) gamma8 = strel.build("square", 1, None) imageFiltered = numpy.ones(image.shape, image.dtype) imageFiltered = imageFiltered * 255 for angle in range(-90, 90, 1): structLigne = strel.build("line", 50, angle) closeImage = morpho.myClose(image, structLigne) imageFiltered = numpy.minimum(imageFiltered, closeImage) morpho.displayImage("After filter", imageFiltered) imageFiltered = morpho.myThreshold(imageFiltered, 40) morpho.displayImage("After threshold", imageFiltered) structLigne = strel.build("square", 2, None) imageFiltered = morpho.myClose(imageFiltered, structLigne) morpho.displayImage("After close", imageFiltered) image = morpho.myGrad(imageFiltered, gamma8) morpho.displayImage("After gradient", image)
import cv2 import numpy from myLibs.ImageProcessing.MorphologicalImageProcessing import structElement as strel, morpho image = cv2.imread('Images/comete.jpg') image = image[:, :, 0] morpho.displayImage("Original Image", image) gamma8 = strel.build("square", 1, None) disc = strel.build("disc", 3, None) relativeIntensity = 50 image = image - morpho.myHMax(image, relativeIntensity, disc) #morpho.displayImage("Filtrage Faible Intensite", image) threshold = 50 for i in range(0, image.shape[0]): for j in range(0, image.shape[1]): if image[i][j] < 50: image[i][j] = 0 else: image[i][j] = 255 morpho.displayImage("After threshold", image) print("press a key to start counting stars") key = cv2.waitKey(0) print("counting started. It will take some time. Image size is " + str(image.shape[0]) + " x " + str(image.shape[1]))
import cv2 import numpy as np from myLibs.ImageProcessing.MorphologicalImageProcessing import structElement as strel, morpho, myimage image = cv2.imread('Images/bloodcells.png') disc = strel.build("disc", 5, None) gamma8 = strel.build("square", 1, None) gamma4 = strel.build("diamond", 1, None) square2 = strel.build("square", 2, None) gamma8list = strel.build_as_list("square", 1, None) morpho.displayImage("Original Image", image) image = image[:,:,0] relativeIntensity = 50 couleurMarqueur = (20,20,200) image2 = image-morpho.myHMax(image,relativeIntensity,disc) image2 = morpho.myThreshold(image,relativeIntensity) border = np.zeros(image.shape, image.dtype) border[0,:]=255 border[border.shape[0]-1,:]=255 border[:,0]=255 border[:,border.shape[1]-1]=255 image3=morpho.myReconInf(border,image,gamma8)