I have a question on how do I calculate the value of a pixel.
For example I take 3x3 pixels and need to order and select the pixel[4] to apply the median filter.
How do I calculate the value of those pixels to order then?
Do I order each channel (R G B) and then select the middle term of each and put the value into to the pixel?
Or I have to sum the 3 channels?
I found online a code with PIL on python, but I don't understand how the "members.sort()" function works
def FiltroMediana(path): img = Image.open(path) members = [(0, 0)] * 9 width, height = img.size newimg = Image.new("RGB", (width, height), "white") for i in range(1, width - 1): for j in range(1, height - 1): members[0] = img.getpixel((i - 1, j - 1)) members[1] = img.getpixel((i - 1, j)) members[2] = img.getpixel((i - 1, j + 1)) members[3] = img.getpixel((i, j - 1)) members[4] = img.getpixel((i, j)) members[5] = img.getpixel((i, j + 1)) members[6] = img.getpixel((i + 1, j - 1)) members[7] = img.getpixel((i + 1, j)) members[8] = img.getpixel((i + 1, j + 1)) members.sort() newimg.putpixel((i, j), (members[4])) newimg.save("MedianFilterPIL.png", "PNG") newimg.show()