- Normalization : You can normalize the scale of an image by making the highest dimension of the image equal to a given "target size". This way, the image also becomes scaling invariant. Here's a pseudo code for normalization of the image in order to make it scaling invariant.
How to normalize the scale of an image to make it scaling invariant?
조회 수: 4 (최근 30일)
이전 댓글 표시
I want to make my image to be scaling invariant by normalizing the scale.
댓글 수: 0
답변 (1개)
Ayush
2024년 8월 12일
Hi Abdul,
scaling invariance can be achieved in the following way through normalization:
function normalizedImage = normalizeScale(image, targetSize)
% Get the dimensions of the image
[height, width, ~] = size(image);
% Calculate the scale factor
scaleFactor = targetSize / max(height, width);
% Calculate the new dimensions
newWidth = round(width * scaleFactor);
newHeight = round(height * scaleFactor);
% Resize the image
normalizedImage = imresize(image, [newHeight, newWidth]);
end
BONUS: Another way to achieve scaling-invariance is to use Scale-Invariant Feature Transform (SIFT). You can read more about it in the following documentation : https://in.mathworks.com/help/vision/ref/detectsiftfeatures.html
Hope it Helps!
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!