help with image processing code

1 回表示 (過去 30 日間)
aaa
aaa 2011 年 7 月 11 日
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
  1 件のコメント
Image Analyst
Image Analyst 2011 年 7 月 11 日
Try b{i} instead of b(i).

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

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by