Image capture using webcam

I am using matlab for capturing image using a webcam(company-Labtec) whenever i get a snapshot the image appears Red.How should i overcome this problem?
Also how can I increase the shuter exposore time of the webcam?
OS-Windows XP

3 个评论

when the snapshot of images is recorded...its not showing its file format..how should we get that..????
the same problem with me please solve that problem
The problem with my GUI is that whenever i connect an external webcam and run in GUI the axis becomes very small that it is hardly seen. How do i overcome this problem? Please help.

请先登录,再进行评论。

 采纳的回答

I'm going to guess that the problem is the color space that your camera returns data in is not RGB. This is common for a lot of webcams. The commands commonly used to display images such as image or imshow expect RGB data. If you pass in YCbCr (or YUV) data, the result is an image that looks vaguely correct but has a pink and green hue to it.
There are a number of ways to work around this, but in your case, I suspect that the easiest will be to change the ReturnedColorSpace property of the videoinput object:
vid = videoinput('winvideo', 1);
set(vid, 'ReturnedColorSpace', 'RGB');
img = getsnapshot(vid);
imshow(img)

9 个评论

Thanks Boss.your solution did work.
i even tried it out didnot work
thank you this solution work
Alternatively, without using the Image Acquisition Toolbox, you might get by with the webcam tool : http://www.mathworks.com/support/2014a/matlab/8.3/demos/webcam-support.html
thankyou :) it is working
Thank you its working
its is not working error occur it show A timeout occurred during GETSNAPSHOT can u please help me in fixing that error
Try this:
>> ver
>> which getsnapshot
What does it say? You probably don't have the Image Acquisition Toolbox installed.
How to save the snapshots during recording...can u Please help me for this

请先登录,再进行评论。

更多回答(5 个)

Mark Jones
Mark Jones 2011-4-25
编辑:John Kelly 2013-11-13

0 个投票

Alternatively, it may be that your camera needs to warm up. To allow for this, try using manual triggering and GETSNAPSHOT.
Ian
Ian 2014-7-7

0 个投票

I got this to work, but is there a way to then read that image? Like to call it back so matlab can analyze it?

6 个评论

What did you do? Did you call getsnapshot()? Did you call imwrite() or imread()? How can we discover what you did to say that it both worked but you don't have the image yet? Show your code.
camlist=webcamlist; cam = webcam(1); preview(cam); img=snapshot(cam); orignalimage=imread(img);
and then this error comes up:
Error using imread>parse_inputs (line 457) The filename or url argument must be a string.
Error in imread (line 316) [filename, fmt_s, extraArgs] = parse_inputs(varargin{:});
I get the image, but now I want to use that image to get other data, but I can't seem to read the image
The SNAPSHOT command returns the RGB image. The "img" variable is your image. A call to IMREAD is not required.
Ahhh thank you very much! I have gotten the code to work now.
Thank you!! it works. Finally, i can finish my project. Greetengs from Mexico

请先登录,再进行评论。

finalyear project
finalyear project 2016-10-21

0 个投票

Tried to take an image using webcam by following code
vid = videoinput('winvideo', 3);
set(vid, 'ReturnedColorSpace', 'RGB');
img = getsnapshot(vid);
imshow(img)
but still got black image.Can anybody please suggest something?

1 个评论

attach this code above to to your code axes(handles.axes1);
hImage=image(zeros(80,120,3),'Parent',handles.axes1); preview(vid,hImage);

请先登录,再进行评论。

vid = videoinput('winvideo', 1);
set(vid, 'ReturnedColorSpace', 'RGB');
img = getsnapshot(vid); imshow(img)
after that how to save the snap images into folder?
Shrey Garg
Shrey Garg 2020-5-16

0 个投票

webcam not working in matlab
it opensup logitech webcam nut it doesnot works and displays message that application already opened

Community Treasure Hunt

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

Start Hunting!

Translated by