How to identify when a certain image disappear
I ended using numpy to save the captured frames and reached 99% efficiency with the reduced area, no resizing of the images or multiprocessing.
I'm doing an opencv project which needs to detect a image on the screen, which will disappear after some time it shows up. It needs to save the most amount of frames possible while the image is showing, and stop when it disappears. I plan to use the data collected to do a ConvNet, so the more frames I can capture, the better.
I was using template matching full-screen to search for the image and to identify when it disappears, but I was only capturing about 30% of the total frames, with the screen at 30FPS.  
Wanting to increase frame capture rate, I changed to searching full-screen with template matching until the image was found, and then the area for searching was reduced to the coordinates found of the image with a little margin, so the program could identify when the image disapeared using a lot less resources (because of a very smaller área to check if the image was still there). This allowed me to capture 60% of the frames.  
However I want to know, can I do something else to allow me to optimize my program? I feel like doing template matching for every frame is overkill. Is object tracking better in this case, or it won't even work because the image disapears?
PS: the image stays for about 7~10 seconds on the screen and takes about the same time to pop up again.