2009-07-21 9 views
3

私のコンピュータの画像フォルダにbmp画像があります。私はそれを1.bmpから100.bmpに命名しました。MATLABのファイルから画像を読み取る

は、そして私はこのように、これらの画像を読みたい:

for i=1:100 
    s='C:\images'+i+'.bmp'; 
    A=imread(s); 
end 

しかし、MATLABはエラーを与えました。これをどのように実装できますか?

+1

ヤルシン、停止する。それは初心者の質問であり、それに応じてタグ付けする必要があります。初心者の質問に尋ねたり答えたりするのは残念です。 – SilentGhost

答えて

3

私に推測させてください。 C:\images1.bmpという名前のファイルはありません。ああ、それはあなたが得ているエラーではありませんが、それが次のものになります。ypnos's advice

+0

: - ) –

+0

追加エラーはうまくキャッチされますが、ypnosの回答は実際には機能しません。 ;) – gnovice

+1

@gnovice:エラーメッセージは同じです;) – SilentGhost

9

あなたがhere

+1

sprintf形式の文字列の\は '\\'としてエスケープする必要があります。 –

5

は、次のようにsを作成し、MATLABで文字列処理の詳細を読むことができsprintf機能

s = sprintf('c:\images%d.bmp', i); 
A = imread(s); 

を使用することができます。また

s = ['C:\images\' int2str(i) '.bmp']; 

、あなたのループは単純になります Aを上書きし続けるので、代わりに cell arrayに100個のimaをすべて保存する必要がありますges。

A = cell(1,100); 

、その後、そのようにループ内であなたのイメージをロードします:あなたのループの外でこれを行うMATLABディレクトリパスにフォルダを追加し、次のコマンドを実行します

A{i} = imread(s); 
+1

+1が上書きされていることを確認する – second

2
imgfiles=dir('c:\images\*.*'); 
for k=1:length(imgfiles) 
    ... 
end 
1

files=dir('*.bmp') for k=1:numel(files) I=imread(files(k).name); end

私は、画像ファイルを読むために、これらのコマンドを使用しています。ここ

0
> for i=1:100 
>  s=strcat('C:\images',num2str(i),'.bmp'); 
>  try             
>  A=imread(s); 
>  catch 
>  end 
> end 

私は、ファイルが存在しない場合、それはそのエラーをaviodますので、文字列に番号のデータ型を変換するために使用され、私はエラーをaviodための試みを使用していnum2strはを使用しています。

関連する問題