how to insert a rectangle to a video preview

im using my webcam to take an image of the user. I want to insert a rectangle to the video preview so that user can put his face within that boundary.
cem=webcam('Lenovo EasyCam');
preview(cem);
img=snapshot(cem);
preview(img);
hold on
thisBB = [10 10 300 300];
rectangle('Position', [thisBB(1),thisBB(2),thisBB(3),thisBB(4)],'EdgeColor','r','LineWidth',2 );

1 Comment

Hi man, have you resoluted this problem? I also want that fuction too.

Sign in to comment.

Answers (2)

I don't think you want these lines:
img=snapshot(cem);
preview(img);
hold on
Getting a snapshot into a variable img is fine (not sure if it would freeze the video after that though) but then passing an image to preview instead of a video object will probably cause problems. Play around with hold on to see if you need to put it before or after rectangle or if you even need it at all.

1 Comment

I want rectangle in the live video preview itself
cem=webcam('Lenovo EasyCam'); preview(cem); pause(); img=snapshot(cem); hold on thisBB = [10 10 300 300]; rectangle('Position',[thisBB(1),thisBB(2),thisBB(3),thisBB(4)],'EdgeColor','r','LineWidth',2 );

Sign in to comment.

I want rectangle in the live video preview itself
cem=webcam('Lenovo EasyCam');
preview(cem);
pause();
img=snapshot(cem);
hold on
thisBB = [10 10 300 300];
rectangle('Position',[thisBB(1),thisBB(2),thisBB(3),thisBB(4)],'EdgeColor','r','LineWidth',2 );

Asked:

on 22 Apr 2017

Commented:

on 25 Aug 2020

Community Treasure Hunt

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

Start Hunting!