MATLAB Answers

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

19 views (last 30 days)
Chetanya
Chetanya on 3 May 2012
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
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
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!