前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于matlab的图像中心差分处理

基于matlab的图像中心差分处理

作者头像
FPGA开源工作室
发布2019-10-29 10:21:09
1.2K0
发布2019-10-29 10:21:09
举报
文章被收录于专栏:FPGA开源工作室

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

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

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

中心差分源码:

代码语言:javascript
复制
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);

原图

x方向

y方向

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档