How i can scale an image using scalle matrix that i determined?

9 Ansichten (letzte 30 Tage)
I think if i scale/shear a image matrix, it calculate the position of (x,y) not the value of (x,y) - is it true? I want scale an image using :
scaleMatrix = [0,0; 0,0.5];
a = imread('rectangle.bmp');
a = rgb2gray(a);
b = im2bw(a);
newImage = zeros(size(b));
My problem is how can i scale the matrix image using scaleMatrix that i determine before? and the result is store in newImage. I confused how i can calculate the location of each matrix image with the scaleMatrix.
Standar formula for scale that i know is (x',y') = (x,y).(Sx,0; 0,Sy).
thx.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 5 Okt. 2012
The formula (x',y') = (x,y).(Sx,0; 0,Sy) is to work on coordinate pairs such as for a vector geometry.
To rescale y by 1/2, consider using
newImage = imresize(b, size(b) .* [1 1/2]);

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by