Convert a frame into image and use it as an input elsewhere

1 view (last 30 days)
I want to convert a frame into an image file. I am using the following code to acquire the frame, now i want to use that frame as an image file in my code, need help with that.. the code is
--------------
vid = videoinput('winvideo',1);
set(vid,'ReturnedColorSpace','rgb')
frame= getsnapshot(vid);
%here i want to take this frame as input image
input='frame';
.
.
--------------
but i am getting the following error
---------
??? Error using ==> strfind
Input strings must have one row.
Error in ==> imread at 296
if (strfind(filename, '://'))
-------------
Please help me with this. or direct me to other solution

Answers (2)

Walter Roberson
Walter Roberson on 3 May 2012
If you are going to imread() the image, you need to first imwrite() the frame into an image file.
  2 Comments
Chetanya
Chetanya on 3 May 2012
but i am unable to imwrite() that frame....can you give me the code please...
Walter Roberson
Walter Roberson on 3 May 2012
imwrite(frame.cdata, frame.map, TheFileName);
where TheFileName is a string the specifies the name of the file to write.

Sign in to comment.


Image Analyst
Image Analyst on 3 May 2012
I'm not sure why you called imread() instead of just using the "frame" array directly in your subsequent code. If you want to use imread, then show your code for both imwrite and imread, but it's not really necessary unless you want to save the image to disk for some reason. Even if you did, you can continue to use "frame" and don't need to call imread at all.
  3 Comments
Image Analyst
Image Analyst on 3 May 2012
But they're not using getframe(), they're using getsnapshot() which does return an image out of the video stream just like any other image. It can be saved with imwrite(), or displayed with imshow(). I do it all the time. Here's a snippet of code from an m-file I'm working on today:
% Snap picture from camera.
if isempty(vidobj), return, end;
snappedImage = getsnapshot(vidobj); % This works.
imshow(snappedImage);
Walter Roberson
Walter Roberson on 3 May 2012
Ah yes, I misread. (Can I blame it on the tail end of the cold I have?)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!