square image size whitout changing in original image shape

7 vues (au cours des 30 derniers jours)
hamed
hamed le 21 Juil 2014
Commenté : Image Analyst le 23 Juil 2014
Hi guys . i have an image (size is 256x158) for computing zernike momentum i have to change my image size to N x N for example 256 x 256 . but unfortunately my image shape will be changed . i want to have my original image without changing . could you help me how can i resize my columns and rows without changing in my original image shape ? i have an idea . how can i add white pixels to my image for resizing like that image i attached (center oval for example is my image and white background for resizing in N x N size )

Réponse acceptée

Joseph Cheng
Joseph Cheng le 21 Juil 2014
Modifié(e) : Joseph Cheng le 21 Juil 2014
If you're looking to pad the columns as there are enough rows to get youre 256x256 then.
Oimage = imread(____); %your original image
%ones padded to either side of image, multiply by the white color index.
PadImage = [ones(256,49) Oimage ones(256,49)];
That should get you the 256x256 sized image. If you're trying to resize it so there is a 1.6 times magnification to scale the smaller columns to 256 and trim off the extra rows then imresize() should work out.
  4 commentaires
hamed
hamed le 23 Juil 2014
Modifié(e) : hamed le 23 Juil 2014
with im2double solved my problem . my mistake was I = double(image);
Image Analyst
Image Analyst le 23 Juil 2014
Another mistake is using a jpeg image for image analysis. Just look at those horrible compression artifacts.
I don't know what you did with im2double() and double() but it's not necessarily a mistake to use double() - I do it all the time and never use im2double().

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by