Any way to automatically crop film frames?
I have recently been digitizing some old 8mm family films. I photograph each frame with a macro lens, advancing the film a frame at a time by hand. (No projector.) I now have many thousands of photographs of film frames, and they look great, but I need to crop them precisely so I can assemble them into an AVI file.
Each image contains the image from the film frame in the centre, and two sprocket holes on the left. Because everything is done manually, the film frame is sometimes positioned higher or lower on the digital image. Sometimes the image is at a slight angle and needs straightening.
I'm using Photoshop CS 5.5. It takes less than a minute to go into an image, straighten it (using the sprocket holes as guides) and crop the image to a fixed size around the movie film frame - but with many thousands of frames to process, this method will take roughly 700 hours of work. Is there a way to automatically stabilize (or align) all images around the sprocket holes? Is Photoshop smart enough to be able to look for a matching feature in an image and do something with it?
I have tried using Auto Align Layers, but the results were terrible - images shifted. I have also tried Warp Stabilize in After Effects, but couldn't get it to follow the sprocket corners (perhaps they don't match each other well enough).
I would love to do this in Photoshop if there is a way but perhaps I am expecting too much. Can Photoshop be automated this far?
This is a followup to my previous question. I didn't receive any suggestions of how to do it in Photoshop, so I assume it is difficult that way.
My eventual solution was to assemble the photos into a video file made from sequential images. This requires that all images be numbered sequentially. That's easily done in Adobe Bridge, although I found that IrfanView did a faster job of it. The resulting "movie" can be imported into Adobe After Effects and stabilized using the stabilize feature. Again, though, a free third-party option was much faster - I used VirtualDub32 with the Deshaker plugin. Where After Effects too about four hours to analyze a 50-minute video file, and frequently crashed in the process, Deshaker could do the same job in about an hour. The interface is quirky - you must first run an analysis stage, which creates markers showing the amount of movement, then immediately run a second stage which uses the previous processing to smooth out the picture. This was easily tweaked to prevent movements that were crazy, or sent the film frame outside of the picture. The end result was a video file where the film frames mostly moved smoothly from one to the next, although over longer periods, the position of the frame moved around the larger screen area. I then imported this into Premiere, and used position keyframes to keep the part of the picture representing each movie frame in a fixed position, so that the smoothed images are kept in one area of the screen. (I created a yellow guideline overlay so I knew where to move it.) This adjustment took a few hours, but that's far less than it would have taken to adjust the near random position of each frame. The final image was then cropped slightly into the frame, hiding the small movements.
I expect that some of this must be possible in Photoshop or using other forms of automation, but haven't found a good way of doing it. Other methods I tried were to do motion stabilization on the sprocket holes of the film, but After Effects had a hard time keeping a hold on the edges - perhaps because they are actually different edges from film frame to film frame.