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 Commento

Andreas Goser
Andreas Goser il 30 Gen 2012
You help yourself by including the error message...

Accedi per commentare.

 Risposta accettata

David Young
David Young il 30 Gen 2012

0 voti

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.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by