help with image processing code

3 次查看(过去 30 天)
Hi, i am new to matlab and need some help with this
i have used imread to read in a jpg image. however the workspace reads this as a 3 dimensional matrix, e.g. 150x100x3 uint8
how can i change this to a 2 dimensional matrix? i believe i have to use a gray scale image to accomplish this, but i cant seem to get it to work.
i have:
a = imread('image.jpg')
b = gray(a);
secondly, how can i read in a bunch of images into matlab for processing? i.e. i want to read in 1.jpg, 2.jpg, 3.jpg into the workspace. I know I need a for loop ,but i can't quite put the code together using the imread syntax.
for i = 1:5
a(i) = imread(xxxxx.jpg);
end
thank you

采纳的回答

Walter Roberson
Walter Roberson 2011-7-11
b = rgb2gray(a);
To read a bunch of images, please see this FAQ
  2 个评论
aaa
aaa 2011-7-12
i just have another question regarding the FAQ you have. it refers to the following code to read a bunch of jpgs in to matlab.
jpegFiles = dir('*.jpg');
numfiles = length(jpegFiles);
mydata = cell(1,numfiles);
%%Processing a sequence of files (matlab doc)
for k = 1:numfiles
mydata(k) = imread(jpegFiles(k).name);
end
my problem is that i get the error "conversion to cell from uint8 is not possible" however, the imread function makes all images into uint8, and my guess is that the above code wants a "double" format.
However, i cannot do this pre-processing if i don't have the images loaded in the first place, so it seems to be counter-intuitive. What can I do to bypass this?
Walter Roberson
Walter Roberson 2011-7-12
mydata{k} = imread(jpegFiles(k).name);
Notice the {k} instead of (k)

请先登录,再进行评论。

更多回答(1 个)

aaa
aaa 2011-7-11
thanks for the quick reply, i read through the faq and tried this but i get the following error
In an assignment A(:) = B, the number of elements in A and B must be the same.
Error in ==> test at 11 b(i) = sprintf('%d.jpg',k(i));
my code looks like
for i = 1:3
b(i) = sprintf('%d.jpg',i);
c(i) = imread(b(i));
end
thank you

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by