I take down some snapshots from logitech camera and images are stored in array form in pics folder name. Now I want to see those pictures (in png format). So how can i extract iamges from those array. number of images are 20.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 30 Dez. 2015

1 Stimme

6 Kommentare

Naseeb Gill
Naseeb Gill am 30 Dez. 2015
Sorry sir but i'm unable to do it. Can you please elaborate it for me or provide me any simple code example to illustrate it. Sorry for inconvenience. Thanks
dinfo = dir('*.png');
for K = 1 : length(dinfo)
thisfile = dinfo(K).name;
thisimage = imread(thisfile);
figure(); image(thisimage); title(thisfile);
end
Naseeb Gill
Naseeb Gill am 31 Dez. 2015
It's also not working. I think it's my mistake that I can't explain my problem to you. So, i'm trying again. Thanks for your patience. using camera i takes snapshots and stored them into array form. Code for this is:
vid1 = videoinput('winvideo',1,'RGB24_640x480');
vid2 = videoinput('winvideo',2,'RGB24_640x480');
start(vid1);
start(vid2);
preview(vid1);
preview(vid2);
pics1 = cell(1,10)
pics2 = cell(1,10)
for i = 1: 10
pause(5);
pics1{i} = getsnapshot(vid1);
pics2{i} = getsnapshot(vid1);
end
closepreview(vid1);
closepreview(vid2);
clear ('vid1');
clear ('vid2');
Now arrays are stored in pics1 and pics2 but I want to watch them as .png image and store them as .png only in other folder. how can i do that.
Thanks.
You cannot "watch" PNG images, you can only watch images that have been loaded (possibly from PNG files)
But in any case:
ax1 = subplot(1,2,1);
ax2 = subplot(1,2,2);
for K = 1 : length(pics1)
imshow(ax1, pic1{K});
outfile1 = sprintf('pic1_%03d.png', K);
imwrite(pic1{K}, outfile1, 'png');
imshow(ax2, pic2{K});
outfile2 = sprintf('pic2_%03d.png', K);
imwrite(pic2{K}, outfile2, 'png');
pause(0.25); %or as appropriate
end
And remember to change your code
pics2{i} = getsnapshot(vid1);
to
pics2{i} = getsnapshot(vid2);
Naseeb Gill
Naseeb Gill am 31 Dez. 2015
Thanks for pointing out my mistake. I solved this problem using following code:
vid1 = videoinput('winvideo',1,'RGB24_640x480');
vid2 = videoinput('winvideo',2,'RGB24_640x480');
start(vid1);
start(vid2);
preview(vid1);
preview(vid2);
pics1 = cell(1,10)
pics2 = cell(1,10)
for i = 1: 10
pause(5);
pics1{i} = getsnapshot(vid1);
pics2{i} = getsnapshot(vid2);
end
for i = 1:10
FileName1 = sprintf( 'pica%d.png',i) ;
fullFileName1 = fullfile( FileName1);
imwrite(pics1{i}, fullFileName1);
FileName2 = sprintf( 'picb%d.png',i) ;
fullFileName2 = fullfile( FileName2);
imwrite(pics2{i}, fullFileName2);
end
closepreview(vid1);
closepreview(vid2);
clear ('vid1');
clear ('vid2');
but now I'm facing a new problem that images store in default folder but i want to save images in predetermined folder say in 'image_folder' folder present on desktop. How can I do it???
project_dir = 'C:\wherever\the\desktop\is\image_folder';
Then
fullFileName1 = fullfile( project_dir, FileName1);
and the corresponding for the second file.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by