Automatically crop out certain region around red objects
I can't give you a detailed workflow for it right now, but I'll tell you how I'd go about it:

A simple solution would be to color-threshold the image. Your image only uses red and green so it would work quite nicely. I used a red value of 122-255 and a green value of 0-122. This way you obtain a b/w image with the red regions white and the rest of the image black / or the other way around.

On this segmented image you can perform particle analysis. Particle here refers to one white / black region that is separated from the rest (in your case one red blob). It returns the x/y location as well as the extent etc. of the region. this you can use to automatically crop the image to the region of the particle +/- x pixels to obtain the cropped images.

I guess this method won't spare you of cross checking the automated results and deleting falsely detected noise etc though.

I alwaya use ImageJ/FiJi to explore workflows like this, and once I roughly know how I want to proceed, I look for python solutions.
If oyu want to do this in python I suggest you either look into OpenCV or scikit-image.

Stuff I'd read into for your case:


rag thresholding
particle analysis


Once you got the coordinates of the red regions, cropping it is as easy as slicing a numpy array: img_cropped = img[x_coord - extent : x_coord + extent, y_coord - extent : y_coord + extent]