Writing in Python In this part, you'll write the code that implements the flood fill algorithm, identifys and changes the marked pixels. # Furthermore, blank pixels are ignored. To do this,you'll use any breadth first search algorithm. # The code is partially written below. DO NOT change the NAME or anything just complete the yellow highlighted part

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Writing in Python

In this part, you'll write the code that implements the flood fill algorithm, identifys and changes the marked pixels. # Furthermore, blank pixels are ignored. To do this,you'll use any breadth first search algorithm. # The code is partially written below.

DO NOT change the NAME or anything  just complete the yellow highlighted part

# Create a node - the datapoints within the graph
class Node:
def __init__(self, x, y):
self.x = x
self.y = y
self.neighbours = list()
# Start function - acts as a starting point for the flood fill algorithm
def start():
# Sample image represented as 2D array of numbers
image = [
[1,0,0,0,0],
[1,1,0,1,0],
[0,1,1,1,0],
[0,1,1,1,1],
[0,1,1,0,1]
]
graph = Graph()
print(graph.flood Fill(image, 2, 2, 2))
# DO NOT REMOVE THIS RETURN STATEMENT!
return graph
# The flood fill algorithm - flood fill algorithm using breadth first search
class Graph:
numberOfNonUniqueEdges = 0
visited=set()
def floodFill(self, image, x, y, pixel):
start Node(x, y)
queue = list()
queue.append(start)
# Remember to add the x and y coordinates of newly discovered nodes to the visited set
###
### YOUR CODE HERE
###
# Return the modified image represented as 2D array of numbers
return image
def neighbours(self, image, x, y, currentNode):
U=y-1
D=y+1
L=x-1
R = x + 1
# An edge is valid if the pixel is newly discovered, i.e. an edge is created when the neighbour's
pixel value is one.
# Write the neighbours function to find the neighbours in four directions for a given pixel.
# Append
valid Node to the neighbours of the currentNode
#Remember to do boundary checking
###
### YOUR CODE HERE
###
### DO NOT REMOVE THIS LINE ###
self.numberOfNonUniqueEdges = self.numberOfNonUniqueEdges + len(currentNode.neighbours)
### ## ### ###### #### #### ####
# Return the current node's (the pixel in question) neighbours, not always a maximum of four.
# Call the start function
return currentNode.neighbours
graph = start()
●●●
Transcribed Image Text:# Create a node - the datapoints within the graph class Node: def __init__(self, x, y): self.x = x self.y = y self.neighbours = list() # Start function - acts as a starting point for the flood fill algorithm def start(): # Sample image represented as 2D array of numbers image = [ [1,0,0,0,0], [1,1,0,1,0], [0,1,1,1,0], [0,1,1,1,1], [0,1,1,0,1] ] graph = Graph() print(graph.flood Fill(image, 2, 2, 2)) # DO NOT REMOVE THIS RETURN STATEMENT! return graph # The flood fill algorithm - flood fill algorithm using breadth first search class Graph: numberOfNonUniqueEdges = 0 visited=set() def floodFill(self, image, x, y, pixel): start Node(x, y) queue = list() queue.append(start) # Remember to add the x and y coordinates of newly discovered nodes to the visited set ### ### YOUR CODE HERE ### # Return the modified image represented as 2D array of numbers return image def neighbours(self, image, x, y, currentNode): U=y-1 D=y+1 L=x-1 R = x + 1 # An edge is valid if the pixel is newly discovered, i.e. an edge is created when the neighbour's pixel value is one. # Write the neighbours function to find the neighbours in four directions for a given pixel. # Append valid Node to the neighbours of the currentNode #Remember to do boundary checking ### ### YOUR CODE HERE ### ### DO NOT REMOVE THIS LINE ### self.numberOfNonUniqueEdges = self.numberOfNonUniqueEdges + len(currentNode.neighbours) ### ## ### ###### #### #### #### # Return the current node's (the pixel in question) neighbours, not always a maximum of four. # Call the start function return currentNode.neighbours graph = start() ●●●
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education