Image Acquisition - Resolution

10 views (last 30 days)
Hello,
I am trying to get a picture using a webcam in MatLab. I am successfully able to obtain the picture and such by using the following code:
picture = videoinput('macvideo',1);
cam_image_rgb = getsnapshot(picture);
imshow(cam_image_rgb)
By default, the resolution of the image is set to 1280x720. How would I go about changing this to 800x600? I am aware that I can do this manually by clicking on 800x600 within the toolbox; however, I cannot use the toolbox as this project cannot have any manual intervention. Therefore, I am using the code above within the .m file.
  1 Comment
Jake Bolanski
Jake Bolanski on 2 Nov 2011
Here is the result I obtain when I do:
propinfo(picture, 'VideoResolution')
ans =
Type: 'double'
Constraint: 'none'
ConstraintValue: []
DefaultValue: [1280 720]
ReadOnly: 'always'
DeviceSpecific: 0
Any clue on how I would change the [1280 720] to [800 600]? set(propinfo(picture, 'VideoResolution'), [800 600]) yields "Error using set
Conversion to double from struct is not possible."

Sign in to comment.

Accepted Answer

Jake Bolanski
Jake Bolanski on 2 Nov 2011
Okay this was much easier than I originally thought. Depending on what is visible under your camera in the actual Image Acquisition Toolbox, you can easily pick the correct resolution (assuming your camera supports it) by:
picture = videoinput('macvideo',1,'YCbCr422_1280x720');
where the 'YCbCr422_1280x720' should be changed to 'YCbCr422_800x600' or whatever your camera names it as.
  1 Comment
Image Analyst
Image Analyst on 2 Nov 2011
I thought you couldn't use the toolbox functions.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!