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 Comments

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
Chaitanya Panse
Chaitanya Panse on 27 May 2018
Edited: Chaitanya Panse on 27 May 2018
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.

Sign in to comment.

 Accepted Answer

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 Comments

Thanks Boss.your solution did work.
i even tried it out didnot work
thank you this solution work
Image Analyst
Image Analyst on 7 Jul 2014
Edited: Image Analyst on 7 Jul 2014
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

Sign in to comment.

More Answers (5)

Mark Jones
Mark Jones on 25 Apr 2011
Edited: John Kelly on 13 Nov 2013

0 votes

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

0 votes

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 Comments

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.
Ian
Ian on 10 Jul 2014
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

Sign in to comment.

finalyear project
finalyear project on 21 Oct 2016

0 votes

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 Comment

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

Sign in to comment.

mohamed hushan
mohamed hushan on 5 Oct 2017
Edited: Walter Roberson on 16 May 2020
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 on 16 May 2020

0 votes

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!