error with my code

hi all ... I've encountered an error with this code .. especially with the imread part ... pls clear this ..
vid = videoinput('winvideo', 1 , 'RGB24_320x240');
preview(vid);
for i= 1:3
frame1=getsnapshot(vid);
imwrite(frame1,sprintf('image%d.jpg',i));
fname=save(C:\MATLAB7\work\NewFolder1);
I = imread('image%d.jpg');
J=rgb2gray(I);
figure,imshow(I),figure,imshow(J);
BW1=edge(J,'sobel');
BW2=edge(J,'canny');
figure,imshow(BW1),figure,imshow(BW2);
pause(1)
end

1 Comment

You help yourself by including the error message...

Sign in to comment.

 Accepted Answer

David Young
David Young on 30 Jan 2012
Have a look at the names of the files: you'll find that there isn't one called 'image%d.jpg', so imread cannot find such a file. (The files you create have names like image1.jpg, image2.jpg, ...)
Maybe you want to read back in the image that you have just written. If so, this should do it:
I = imread(sprintf('image%d.jpg',i));
However, if that is what you need, it will be much faster to use
I = frame1;
You do not need to write the images to disk at all, unless you want to refer to them later.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!