2013-02-11 2 views
1

Несколько лет назад я использовал этот способ, чтобы сделать черно-белый шум:сохранить массив как изображение, imwrite MatLab

A=randn(300,300); 
B=A*255; 
C=ceil(B); 
imwrite(C,'noise300.jpeg'). %% or A=rand(300,300) 

Сегодня я получаю следующую ошибку:

??? Error using ==> imwrite at 457 
Can't open file "noise300.jpg" for writing. 
You may not have write permission. 

Почему» t Я сохраняю массив (double) как jpeg/bmp или что бы я ни делал с imwrite?

Здесь http://www.mathworks.com/matlabcentral/answers/7864 Я понял, что между matlab и windows 7 есть конфликт, но у меня есть Vista.

Если у меня нет возможности исправить imwrite для моего случая, я буду признателен за другой способ создания jpeg с помощью b & w noise. Thanx, Dina.

+1

отлично работает на моем Matlab (W7), но это больше похоже на проблему с каталогом или, возможно, файл, который вы пытаетесь записать, открывается в другой программе? – Smash

+1

Вы можете попробовать: 1. изменить права доступа к рабочему каталогу, 2. сохранить файл в другом месте «C: \ noise300.jpg», например. – plesiv

+1

уверен, что это не проблема с Matlab, а проблема с ОС. – alrikai

ответ

0

Причина Matlab ошибки

«Ошибка при помощи imwrite (строка 455) Невозможно открыть файл "1.jpg" для записи. У вас может не быть разрешения на запись.

находится на пути к текущей папке. Может показаться, что-то вроде

'C: \ Program Files \ MATLAB \ R2013a \ Bin'

Он должен быть изменен на какой-то другой путь в D: или любой другой диск. Там хорошо работает. Спасибо!