Error using imwrite (line 463) Can't open file "C:\Program Files\MATL​AB\R2011b\​bin\frames​\fr1.jpj" for writing. You may not have write permission. Error in manzil (line 29) imwrite(im​g,outputFu​llFileName​,'jpg');

조회 수: 2 (최근 30일)
m executing the below code and obtaining error like this
  1. PERMISSION IS DENIED FOR MKDIR
  2. Error using imwrite (line 463) Can't open file "C:\Program Files\MATLAB\R2011b\bin\frames\fr1.jpj" for writing. You may not have write permission. Error in extractframe (line 29) imwrite(img,outputFullFileName,'jpg');
SO WHAT I SHD DO???
if true
% clc ; % clearing the command window
n = input(' Enter the number of photos to be taken: ');
intervel = input(' Enter the time(seconds) gap between succeessive photos: ');
photosave = input(' Do you want to save the files(y/n): ','s');
disp('Please wait...');
outputFolder = fullfile(cd, 'Test');
if ~exist(outputFolder, 'dir')
clc ; % clearing the command window
n = input(' Enter the number of photos to be taken: ');
intervel = input(' Enter the time(seconds) gap between succeessive photos: ');
photosave = input(' Do you want to save the files(y/n): ','s');
disp('Please wait...');
outputFolder = fullfile(cd, 'frames');
% if ~exist(outputFolder, 'dir')
% mkdir(outputFolder);
% end
obj = videoinput('winvideo',1);
preview(obj);
disp('Press Enter to start after webcam initialization.');
pause;
disp('First shot will taken after 3 second');
pause(3);
for i=1:n
img=getsnapshot(obj);
image(img);
if(photosave == 'y')
outputBaseFileName = sprintf('fr%d.jpj',i);
outputFullFileName = fullfile(outputFolder, outputBaseFileName);
imwrite(img,outputFullFileName,'jpg');
end
pause(intervel);
end
closepreview;
disp('The program successfully taken the photos');
disp('Done.');mkdir(outputFolder);
end
obj = videoinput('winvideo',1);
preview(obj);
disp('Press Enter to start after webcam initialization.');
pause;
disp('First shot will taken after 1 second');
pause(1);
for i=1:n
img=getsnapshot(obj);
image(img);
if(photosave == 'y')
outputBaseFileName = sprintf('fr%d.png',i);
outputFullFileName = fullfile(outputFolder, outputBaseFileName);
imwrite(img,outputFullFileName,'jpg');
end
pause(intervel);
end
closepreview;
disp('The program successfully taken the photos');
disp('Done.');
end

채택된 답변

Image Analyst
Image Analyst 2013년 5월 24일
Unlike Windows XP, writing to anything under the Program Files folder in Windows 7 is practically prohibited, though there are ways around it. You're expected to keep all your documents on a secondary hard drive (like I do), or in the "C:\Users\yourLoginName\Documents" folder. Replace this:
outputFolder = fullfile(cd, 'Test');
with this:
outputFolder = 'C:\Users\Mohd\Test'; % or frames instead of test.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2013년 5월 24일
편집: Walter Roberson 2013년 5월 24일
Start from a different directory so that you are not trying to write underneath the MATLAB directory

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by