Этот пример показывает, как захватывать потоковые изображения из устройства получения изображений, выполнять оперативную обработку изображений на каждой системе координат и отображать обработанные системы координат.
Результатом является альфа-смесь двух изображений, один стационарный маятник, другой маятник в движении, что делает движущиеся функции прозрачными.
Этот пример требует Image Processing Toolbox™.
Логгирование и отображение снимка фона без движущихся функций.
% Access an image acquisition device. vidobj = videoinput('winvideo', 1, 'RGB24_320X240'); % Using the preview window, properly position the camera. preview(vidobj) pause(1) % Capture an image with no moving features. background = getsnapshot(vidobj); % Display the background image in a figure window. imshow(background);
Используя полученные данные изображения, выполните оперативную обработку изображения и отобразите обработанные изображения в окне рисунка.
Для каждой потоковой системы координат изображения вычислите линейную комбинацию между этой системой координат и фоновым изображением. Линейная комбинация эффективно альфа смешивает два изображения, поэтому любые движущиеся функции кажутся прозрачными.
% Set the object into motion. pause(2); % Configure the figure to produce flash-free rendering. fig = gcf; fig.DoubleBuffer = 'on'); % Configure the acquisition. vidobj.FramesPerTrigger = 20; % Start the acquisition. start(vidobj) % While logging data, perform a linear combination between % the current and background images. current = getdata(vidobj, 1); transparent = imlincomb(0.5, current, 0.5, background); % Display the processed image. imshow(transparent);
% Repeat for all remaining images. while (vidobj.FramesAvailable > 0), % Perform a linear combination between the current and background images. current = getdata(vidobj, 1); transparent = imlincomb(0.5, current, 0.5, background); % Display the processed image. imshow(transparent); end
% Once the video input object is no longer needed, delete % it and clear it from the workspace. delete(vidobj) clear vidobj