0

私はmatlabで問題を抱えています。問題は次のように説明されています:

画像 (複数の画像があります) を読み込んで特定のフォルダーに書き込もうとすると、matlab が次のエラーをトリガーします。

  Error using ==> imwrite at 394
Can't open file "\Temp\\inim735282.4716703009300000.jpg" for writing.
You may not have write permission.

なぜこれが起こっているのか分かりますか?

これは問題が発生するコードです

mkdir('.\Temp');
temp_name =  sprintf('%.16f',now);
corner_file = ['\Temp\corners', temp_name,'.in'];
image_file = ['\Temp\inim', temp_name,'.jpg'];
out_file = ['\Temp\out', temp_name,'.desc'];
out_imname = ['\Temp\out', temp_name,'.desc.jpg'];

省略して変えてみました

mkdir('.\Temp');

さらに、これを行うことで、フォルダー内のパスをフォルダーに向けます

binary_path = 'C:\Users\cool\Documents\MATLAB\Experment\experiments\bag_of_words\Temp';

フォルダの読み書き。

誰かがこの問題を理解するのを手伝ってくれますか?

君たちありがとう

4

2 に答える 2

1

管理者権限で MatLAB を開きます。

于 2013-02-17T10:52:15.753 に答える
1

いくつかの提案:

  1. 一時的な出力名を生成するには、コマンドを使用しtempnameます。

    temp_name = tempname();
    
  2. パスとファイル名を連結するには、fullfile.

    conrner_file = fullfile( '\', 'Temp', 'corners', [temp_name, '.in'] );
    
  3. '\Temp' と '.\Temp' を混在させないように注意する必要があります。最初は絶対パスで、2番目cwd.

編集: どうですか:

temp_name = tempname(); % temp name + folder name in TEMP
corner_file = [ temp_name,'.in'];
image_file = [ temp_name,'.jpg'];
out_file = [temp_name,'.desc'];
out_imname = [temp_name,'.desc.jpg'];

それは今働いていますか?

于 2013-02-17T11:26:55.407 に答える