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

2 次查看(过去 30 天)
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

回答(2 个)

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

请先登录,再进行评论。


Image Analyst
Image Analyst 2012-5-3
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 个评论
Image Analyst
Image Analyst 2012-5-3
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 2012-5-3
Ah yes, I misread. (Can I blame it on the tail end of the cold I have?)

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by