def update(self, dt): self.img = GameInstance().cam.getImage().flipHorizontal() hsv = self.img.toHSV() mask = cv2.inRange(hsv.getNumpy(), GameInstance().lower, GameInstance().upper) img2 = Image(source=mask) img2 = img2.erode(1) img2 = img2.dilate(2) blops = img2.findBlobs() if blops: largest = blops[-1] x, y = largest.centroid() y = self.size[1] - y self.movement_filter(numpy.array([x, y])) self.blob_coor[0] = x self.blob_coor[1] = y if self.last_pos[1] is not None: with self.game.canvas: kvColor(1, 1, 0) d = 10. # Ellipse(pos=(x - d / 2, self.blob_coor[1] - d / 2), size=(d, d)) Line(points=(self.last_pos[0][0], self.last_pos[0][1], self.last_pos[1][0], self.last_pos[1][1])) self.last_pos[0] = self.last_pos[1]
def update(self, dt): self.img = GameInstance().cam.getImage().flipHorizontal() GameInstance().lower = np.array((float(self.val[0]), float(self.val[1]), float(self.val[2]))) GameInstance().upper = np.array((float(self.val[3]), float(self.val[4]), float(self.val[5]))) hsv = self.img.toHSV() mask = cv2.inRange(hsv.getNumpy(), GameInstance().lower, GameInstance().upper) img2 = Image(source=mask) img2 = img2.erode(1) img2 = img2.dilate(2) if self.cvActiveBloops.active: blops = img2.findBlobs() if blops: self.cvBlob.texture = getKivyTexture(blops[-1].getMaskedImage()) self.cvFilter.texture = getKivyTexture(img2) self.cvImage.texture = getKivyTexture(self.img)
def update(self, dt): self.img = GameInstance().cam.getImage().flipHorizontal() GameInstance().lower = np.array( (float(self.val[0]), float(self.val[1]), float(self.val[2]))) GameInstance().upper = np.array( (float(self.val[3]), float(self.val[4]), float(self.val[5]))) hsv = self.img.toHSV() mask = cv2.inRange(hsv.getNumpy(), GameInstance().lower, GameInstance().upper) img2 = Image(source=mask) img2 = img2.erode(1) img2 = img2.dilate(2) if self.cvActiveBloops.active: blops = img2.findBlobs() if blops: self.cvBlob.texture = getKivyTexture( blops[-1].getMaskedImage()) self.cvFilter.texture = getKivyTexture(img2) self.cvImage.texture = getKivyTexture(self.img)
def update(self, dt): self.img = GameInstance().cam.getImage().flipHorizontal() hsv = self.img.toHSV() mask = cv2.inRange(hsv.getNumpy(), GameInstance().lower, GameInstance().upper) img2 = Image(source=mask) img2 = img2.erode(1) img2 = img2.dilate(2) blops = img2.findBlobs() if blops: largest = blops[-1] x, y = largest.centroid() y = self.size[1]-y self.movement_filter(numpy.array([x, y])) self.blob_coor[0] = x self.blob_coor[1] = y if self.last_pos[1] is not None: with self.game.canvas: kvColor(1, 1, 0) d = 10. # Ellipse(pos=(x - d / 2, self.blob_coor[1] - d / 2), size=(d, d)) Line(points=(self.last_pos[0][0], self.last_pos[0][1],self.last_pos[1][0], self.last_pos[1][1])) self.last_pos[0] = self.last_pos[1]
from SimpleCV import Image import time img = Image('ladies.jpg') # Dilate the image twice to fill in gaps noPegs = img.dilate(2) # Then erode the image twice to remove some noise filled = noPegs.erode(2) allThree = img.sideBySide(noPegs.sideBySide(filled)) allThree.scale(.5).show() time.sleep(10)
from SimpleCV import Image, Display disp = Display() img = Image("C:\\Users\\Vijay\\Pictures\\aidan july 2010 pictures 012.jpg").resize(400, 500) imgBin = img.binarize() imgDilate = img.dilate(2) imgErode = img.erode(2) while disp.isNotDone(): img.sideBySide(imgBin).sideBySide(imgDilate).sideBySide(imgErode).scale(0.5).show()