What is the standard way to handle images of different sizes for classification? I'd like to create an image classifier that takes a set of labeled images and creates a classifier to be used on some unknown images. Most of the examples I see assume all images are the same size (m x n pixels), but my training set will have pictures of various sizes. This is a problem because training my classifier will have the following steps:


Load each image into m x n array
Employ some filter
Transform m x n array into 1 x (m * n) array
Feature selection
Train classifier


The different sized images is a problem because step 3 will yield arrays of different lengths if the images don't have the same number of pixels.

I have a background in statistics, not image processing, and I haven't been able to find any general guidelines for how to handle this problem. I'll be working in Python, and it would also be nice to know if there are libraries perform image resizing.
Not sure about your specific application, but the Viola Jones face detection algorithm successively scans the candidate picture for faces in all possible sizes.

I.e., the algorithm search space is both the object (face) location and its size. The beauty of VJ's "cascade architecture" is that it rejects most hypotheses quickly, thus making the search feasible in real-time.