How can we explain number of image features changing as the locations of image partitions are changed?

In my MATLAB code, during the preprocessing stage, when I split/divide/partition an image into two parts (either horizontally or vertically) I obtain the same number of features, but the resulting output is different. I am seeking a scientific article or a practical explanation for this phenomenon. Thank you in advance.

Answers (1)

Depends on what you're measuring. If your feature is just the mean and standard deviation of the gray levels, you'll get those two values both for the entire image, and for each half if you split them up. And of course since the gray levels being considered are different in all 3 cases, the means and stdevs will all be different. I don't know how to explain it -- it's just kind of obvious.
Now if you were doing something like finding the number of salient points in an image, like from SIFT or SURF, then it would find different number of features (locations) in each half.

5 Comments

@Image Analyst Thank you a lot for your reply, but just to clarify, i split the image horizontally into two parts, extract features separately from the top and bottom parts, and concatenate the extracted features. These concatenated features are then used to train a K-Nearest Neighbor (KNN) classifier. However, when dividing the image vertically and extracting features separately from the left and right parts and concatenating them, we can obtain different recognition results compared to the horizontal splitting approach.
Can you explain it ?
Again it depends on what you're doing and what's in your image. If you have some object of interest in your image and it's split into right and left halves, then the algorithm may find different number of things in each half as compared to if you split it into top and bottom halves.
You should only expect the same results if all of the portions of interest are completely confined to quarters of your image. If anything of interest crosses the boundary of a quarter then it will be divided when you split one of the ways but not divided or divided differently if you split the other way.

Sign in to comment.

Asked:

on 30 Mar 2023

Commented:

on 1 Apr 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!