function result = my_imfilter(I, h)
% 此函数只能处理灰度图像
[m n] = size(I);
i_add = zeros(m+2,n+2);
[m_add n_add] = size(i_add);
% 此处i_add为填充0边后的矩阵图像
i_add(2:m+1,2:n+1) = I(1:m,1:n);
% 在对i_add进行卷积时,不能让卷积后的结果影响未卷积的,所以创建个i_add_copy来作为不变的图像
i_add_copy = i_add;% size(h,1)是获取矩阵h的行数
% 又因为此矩阵为正方形,所以行数与列数相等
ker = size(h,1);
ker_radius = (ker-1)*0.5;
for j = 1:(m_add-ker+1)for i = 1:(n_add-ker+1)%(j+ker_radius, i+ker_radius) 中心坐标i_add(j+ker_radius, i+ker_radius) = my_convo(j, i, ker, i_add_copy,h); end
endi_add_sub = zeros(m,n);
% 把0边框去掉
i_add_sub(1:m,1:n) = i_add(2:m+1,2:n+1);
result = uint8(i_add_sub);
end
function J = my_convo(j,i,ker,i_add_copy,h)
sum = 0;
[m n] = size(h);
h_copy = zeros(m,n);
h_copy(1:ker, 1:ker) = h(1:ker, 1:ker).*i_add_copy(j:j+ker-1, i:i+ker-1);for y = 1:kerfor x = 1:kersum = sum+h_copy(y,x);end
end
J = sum;
end
clear, clc, close all;
% 卷积模版大小=6*sigma+1最为合适
I = imread('3.jpg');
I = rgb2gray(I);
h = [1 2 1;2 4 2;1 2 1]./16;
i = my_imfilter(I,h);
figure;
subplot(121),imshow(I),title('original image');
subplot(122),imshow(i),title('gaussian smooth1');

数字图像处理中imfilter函数卷积算法代码(matlab)相关推荐

  1. 卷积神经网络代码 Matlab,卷积神经网络matlab程序

    cnn卷积神经网络用什么语言来写pascial . 200+这个是hintonmatlab代码的C++改写版.convnetjs-Star,SAE,首选的肯定是LIBSVM这个库;RBM#47.Dee ...

  2. matlab hist函数_算法工匠MATLAB专训营:Matlab绘图,小试牛刀

    作者 | 蔡老师 仿真秀专栏作者 首发 | 仿真秀平台 导读:正文之前,我在此详细说明一下,因为本文包含的程序太难得,网上肯定找不到这样的程序.随着讲课的越来越深入,我给出的程序会越来越实用,接近于实 ...

  3. matlab中存档算法代码,Matlab中的FCM算法代码及中文详解

    Matlab中的FCM算法代码及中文详解 转自:http://xiaozu.renren.com/xiaozu/106512/336681453 function [center, U, obj_fc ...

  4. matlab中emd函数,EMD算法的matlab程序介绍解析

    <EMD算法的matlab程序介绍解析>由会员分享,可在线阅读,更多相关<EMD算法的matlab程序介绍解析(6页珍藏版)>请在人人文库网上搜索. 1.此版本为 ALAN 版 ...

  5. matlab中存档算法代码,MATLAB 智能算法超级学习手册中程序代码

    [实例简介] MATLAB 智能算法超级学习手册中程序代码 [实例截图] [核心代码] dc90ef43-7920-434e-bdb8-0636c31c0b44 └── MATLAB 智能算法超级学习 ...

  6. matlab布林算法代码,MATLAB量化交易策略源码分享之 布林通道+高低点

    策略原理: 通过布林带以及突破后的高低点的形成产生交易信号 采取跟踪止损出场 回测曲线: 2017-2-27 10:09:43 上传 下载附件 (65.41 KB) 策略代码: function  S ...

  7. 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )

    文章目录 一.Matlab 卷积和多项式乘法 conv 函数 二.使用 matlab 代码求卷积并绘图 一.Matlab 卷积和多项式乘法 conv 函数 Matlab 文档地址 : https:// ...

  8. matlab 图像处理 ppt,第五章 matlab在数字图像处理中的应用.ppt

    1.第五章 matlab在数字图像处理中的应用,数字图像的读入,A=imread(filename,fmt): 将文件名为filename,扩展名为fmt(图像文件格式)表示的图像文件中的数据读到矩阵 ...

  9. matlab自带图片下载,数字图像处理中Matlab的应用.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab 数字图像处理中Matlab的应用.pdf3页 本文 ...

最新文章

  1. elastic job review
  2. 如何解决visual studio2017 install 下载安装极慢的问题
  3. oracle快速导出1t数据,使用sqluldr2快速高效大批量导出Oracle数据
  4. 在程序中集成地址簿、电子邮件和地图功能
  5. 用python进行归并排序,用Python做归并排序
  6. python如何写生日快乐图片_Python 生活第一周母校生日快乐
  7. 酒店前台html,酒店前台常用英语单词
  8. 黑客攻防Redis拉锯战之Root提权
  9. linux中运行环境变量,linux下的环境变量详解
  10. 分享一款好用的Jetbrain插件-Jenkins Control
  11. python 回溯法 01背包问题_01背包问题(回溯法)python实现
  12. 基于Qt、FFMpeg的音视频播放器设计五(FFMpeg音频实现)
  13. 如何免费建立自己的一个HTML网站(完全免费)
  14. 【数据挖掘概念与技术】学习笔记5-数据立方体技术
  15. GYM 101350 H. Mirrored String I
  16. 360极速浏览器显示密码
  17. C语言 sigaction函数捕捉信号 注册回调函数
  18. Android 7.0平台开机启动
  19. P2254 [NOI2005] 瑰丽华尔兹
  20. Unity动画系统学习

热门文章

  1. linux下的EDA——DC使用
  2. [JavaScript] 小练习 US telephone number validator
  3. Python-scrapy爬取起点榜单信息
  4. 《Java两台电脑之间传输文件》
  5. exe4j的安装与激活
  6. [由零开始]Linux安装Rdeis集群 完整步骤
  7. PowerShell运行脚本却用记事本打开
  8. 如何为服务器选择合适的CPU ?
  9. python三维重建代码_基于Python的三维重建开源代码
  10. 《机器学习实战》之十一——使用Apriori算法进行关联分析