基于差分技术的运动matlab,基于matlab的图像中心差分处理

最近一直在讲matlab的图像处理,其目的是让大家后边更好的对比与fpga处理的过程,matlab图像处理相对简单,只需要调用相应的函数。fpga需要对每个函数的处理过程以及每个步骤都要了解。

后续我还会讲到matlab的人脸识别算法的实现,也将尝试fpga的人脸识别,希望大家鼓励。

在处理图像的时候,特别是处理视频流图像的时候,往往会用到图像差分的方法。顾名思义,图像差分,就是把两幅图像的对应像素值相减,以削弱图像的相似部分,突出显示图像的变化部分。例如,差分图像往往能够检测出运动目标的轮廓,能够提取出闪烁导管的轨迹等等。

中心差分源码:

I = imread('lena1.png');

figure; imshow(I);

forward_dx = mipforwarddiff(I,'dx'); figure, imshow(forward_dx);

forward_dy = mipforwarddiff(I,'dy'); figure, imshow(forward_dy);

central_dx = mipcentraldiff(I,'dx'); figure, imshow(central_dx);

central_dy = mipcentraldiff(I,'dy'); figure, imshow(central_dy);

function dimg = mipcentraldiff(img,direction)

% MIPCENTRALDIFF     Finite difference calculations

%

%   DIMG = MIPCENTRALDIFF(IMG,DIRECTION)

%

%  Calculates the central-difference for a given direction

%  IMG       : input image

%  DIRECTION : 'dx' or 'dy'

%  DIMG      : resultant image

%

img = padarray(img,[1 1],'symmetric','both');

[row,col] = size(img);

dimg = zeros(row,col);

switch (direction)

case 'dx',

dimg(:,2:col-1) = (img(:,3:col)-img(:,1:col-2))/2;

case 'dy',

dimg(2:row-1,:) = (img(3:row,:)-img(1:row-2,:))/2;

otherwise,

disp('Direction is unknown');

end

dimg = dimg(2:end-1,2:end-1);

be4bbe92c1679af01a5e04730f6f4733.png

原图

0c759d2b1c6ae043b53b0685a65cf789.png

x方向

d09924f6fb924d3c51b4b05d6659fe44.png

y方向

最后欢迎大家关注我的微信公众号,我将陆续提供更多的FPGA基础教程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值