帧间差法是根据当前图像与参考图像的差别来获得运动目标轮廓的方法。这种方法对于场景中的光线渐变不敏感,适于动态变化的环境,且运算量相对较小。但一般不能完整的提取运动目标,且在运动实体内易产生空洞现象,从而不利于接下来图像分析和处理 基于帧间差法的运动检测即帧差法,它根据相邻帧或隔帧图像间亮度变化的大小来检测运动目标,帧间差法公式如下: - clc,clear,close all % 清屏、清工作区、关闭窗口
- warning off % 消除警告
- feature jit off % 加速代码执行
- im1 = imread('19.jpg'); % im1 = im2double(im1); % 加载图像并转化为double类型
- im2 = imread('20.jpg'); % im2 = im2double(im2); % 加载图像并转化为double类型
- im3 = imread('79.jpg'); % im3 = im2double(im3); % 加载图像并转化为double类型
- im4 = imread('80.jpg'); % im4 = im2double(im4); % 加载图像并转化为double类型
- im5 = imread('139.jpg');% im5 = im2double(im5); % 加载图像并转化为double类型
- im6 = imread('140.jpg');% im6 = im2double(im6); % 加载图像并转化为double类型
- T = 20;
- im12 = im2-im1; im12 = im12(:,:,1) > T;
- figure,imshow(im12,[])
- im34 = im4-im3; im34 = im34(:,:,1) > T;
- figure,imshow(im34,[])
- im56 = im6-im5; im56 = im56(:,:,1) > 20;
- figure,imshow(im56,[])
复制代码
|