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