0

Hey i want to filter out everything except the deserted area(beige, tan color) in an image. What could be a good range for this? My current range is leaving out important areas and still included useless areas. You can see the current range at the top of my code.

This is how my images mostly look: enter image description here

This is my code, transform images is applying my filters:

class DataCollection:
def __init__(self):
    self.lower = np.array([125, 100, 150])
    self.upper = np.array([160, 255, 240])
    self.screen_area = (220, 200, 1080, 420)
    self.output_size = (512, 512)

    self.output_folder = "D:/Programming/Python/driver/data"

    self.my_dir = ""

    self.pathRight = ""
    self.pathLeft = ""
    self.pathForward = ""

def create_dirs(self):

    self.my_dir = os.path.join(os.getcwd(), self.output_folder)

    self.pathRight = self.my_dir + "/right"

    self.pathForward = self.my_dir + "/forward"

    self.pathLeft = self.my_dir + "/left"

    os.makedirs(self.pathRight)
    os.makedirs(self.pathForward)
    os.makedirs(self.pathLeft)

def capture_screen(self):
    return np.asarray(ImageGrab.grab(bbox=self.screen_area))

def save_training_image(self, direction, image):
    print(direction)
    
    now = datetime.now()
    timestamp = str(datetime.timestamp(now)).replace('.', '')

    if direction == "right":
        fileName = os.path.join(self.pathRight, f'Image_{timestamp}.jpg')
        cv2.imwrite(fileName, image)

    if direction == "left":
        fileName = os.path.join(self.pathLeft, f'Image_{timestamp}.jpg')
        cv2.imwrite(fileName, image)

    if direction == "forward":
        fileName = os.path.join(self.pathForward, f'Image_{timestamp}.jpg')
        cv2.imwrite(fileName, image)

def transform_image(self, image):
    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    mask = cv2.inRange(image, self.lower, self.upper)
    mask = cv2.resize(mask, dsize=self.output_size, interpolation=cv2.INTER_CUBIC)

What range can I use or are the better options to filter out the desired area?

Niklas
  • 119
  • 5

0 Answers0