Image Acquisition - Resolution

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

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

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

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!