Error in resizing 3d image

I have a dataset of 3d images containing 30 images of different sizes,I want to resize all images to a paricular size
for example for 2d if we use imresize(I,[25 256]) all images in dataset will be resized
same way i tried for 3d using
J = resize(I,size(I).*[0.3 0.3 1])
but it is not reduced to a particular size,i need all images to have same size
say 256x256x3
please help

 採用された回答

Image Analyst
Image Analyst 2012 年 8 月 29 日

0 投票

If it's a color image (as opposed to a volumetric image, as from CT or MRI), you do it exactly the same way as for a gray scale image. No difference at all in the arguments to imresize.
rgbImage256 = imresize(rgbImage, [256 256]);

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2012 年 8 月 29 日
編集済み: Andrei Bobrov 2012 年 8 月 29 日

1 投票

try this code
A = randi(255,89,300,3,'uint8'); % eg first image
B = randi(255,100,200,3,'uint8'); % eg second image
AA = {A,B};
out = cellfun(@(x)imresize(x,[256 256]),AA,'un',0);

3 件のコメント

kash
kash 2012 年 8 月 29 日
i have a code as for 3d image as per ur code for single image
D=imread('peppers.png');
size(D);
D=uint8(D);
X={D};
out = cellfun(@(x)imresize(x,[256 256]),X,'un',0)
wen displaying as imshow(out) i get error as
Error using iptcheckinput
Function IMAGEDISPLAYVALIDATEPARAMS expected its first input, I,
to be one of these types:
double, single, uint8, uint16, uint32, int8, int16, int32, logical
Instead its type was cell.
Andrei Bobrov
Andrei Bobrov 2012 年 8 月 29 日
編集済み: Andrei Bobrov 2012 年 8 月 29 日
just for one image, my variant in answer for multiple image
D=imread('peppers.png');
out = imresize(D,[256 256]);
kash
kash 2012 年 8 月 29 日
Thanks andre1

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by