www.gusucode.com > 《matlab图像处理与界面编程宝典》秦襄培 编著,每章的MATLAB源代码程序 > 第8章/代码8-5.txt
% 取得一个图像采集装置的使用权。 vidobj = videoinput('winvideo', 1, 'RGB24_320X240'); % 使用预览窗口,适当定位摄像头。. preview(vidobj) pause(1) %采集没有运动的背景图像。 background = getsnapshot(vidobj); %将图像background的数据类型由uint8 转换到double。 background = double(background)/255; % 在一个图形窗口中显示图像background。 imagesc(background); % 将物体置入运动状态。 pause(2); % 设置捕获图形窗口以便生成动态渲染。 set(gcf, 'DoubleBuffer', 'on'); % 设置捕获设备。 vidobj.FramesPerTrigger = 20; % 开始图像捕捉。 start(vidobj) % 当载入数据时,实现当前图像和背景图像的线性混合。 current = getdata(vidobj, 1, 'double'); transparent = (current * 0.5) + (background * 0.5); % 显示处理后的图像。 imagesc(transparent); % 对所有后续图像进行相同的处理。 while (vidobj.FramesAvailable > 0), %实现当前图像和背景图像的线性混合。 current = getdata(vidobj, 1, 'double'); transparent = (current * 0.5) + (background * 0.5); %显示处理后的图像。 imagesc(transparent); end % 当不再需要视频输入对象时,从workspace 中对其进行删除和清除处理。 delete(vidobj) clear vidobj