Простой способ сделать это с помощью np.where:
import numpy as np
# Generating an example array
width = 100
height = 100
channels = 3
img = np.random.rand(width, height, channels) * 255
# Defining the three value channels
r=0
g=1
b=2
# Defining the query values for the channels, here [255, 255, 255]
r_query = 255
g_query = 255
b_query = 255
# Print a 2D array with the coordinates of the white pixels
print(np.where((img[:,:,r] == r_query) & (img[:,:,g] == g_query) & (img[:,:,b] == b_query)))
Это дает вам 2D-массив с координатами белых пикселей [255, 255, 255] в исходном массиве (изображение).
Примечание: Другим способом было бы использование OpenCV
mask = cv2.inRange(img, [255, 255, 255], [255, 255, 255])
output = cv2.bitwise_and(img, img, mask = mask)