store multiple images efficiently in Python data structure
I used several lists and list.append() for storing the image.
For finding the white regions in the black & white images I used cv2.findNonZero().
I have several images (their number might increase over time) and their corresponding annotated images - let's call them image masks.
I want to convert the original images to Grayscale and the annotated masks to Binary images (B&W) and then save the gray scale values in a Pandas DataFrame/CSV file based on the B&W pixel coordinates. 
So that means a lot of switching back and forth the original image and the binary images.
I don't want to read every time the images from file because it might be very time consuming.
Any suggestion which data structure should be used for storing several types of images in Python?