基于matlab的图像中心差分处理
2017-12-03 12:10
453 查看
基于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);
原图
x方向
y方向
最后欢迎大家关注我的微信公众号,我将陆续提供更多的FPGA基础教程
最近一直在讲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);
原图
x方向
y方向
最后欢迎大家关注我的微信公众号,我将陆续提供更多的FPGA基础教程
相关文章推荐
- Matlab图像处理学习笔记(六):基于sift特征点的人民币识别
- Matlab图像处理学习笔记(三):基于匹配的目标识别
- Matlab图像处理学习笔记(六):基于sift特征点的人民币识别
- 基于Matlab的图像处理GUI
- 基于MATLAB的储粮害虫图像处理方法
- Matlab图像处理学习笔记(三):基于匹配的目标识别
- 基于MATLAB的储粮害虫图像处理方法
- 基于matlab的图像处理-RGB色彩提取方法
- 基于MATLAB图像处理的中值滤波、均值滤波以及高斯滤波的实现与对比
- 基于Matlab的图像分块处理
- 基于MATLAB的数字图像处理之直方图处理
- 基于MATLAB图像处理工具箱
- 基于matlab图像锐化处理
- 基于直方图均衡化的水下激光图像处理(MATLAB仿真)
- 基于MATLAB的卷积运算处理图像
- Matlab图像处理学习笔记(二):基于颜色的图像分割
- 基于MATLAB GUI的图像处理软件平台的开发(转自深寒的博客)
- 数字图像处理:基于MATLAB的车牌识别项目 标签: 图像处理matlab算法 2017-06-24 09:17 98人阅读 评论(0)
- 基于MATLAB图像处理工具箱
- 数字图像处理:基于MATLAB的车牌识别项目