matlab高斯滤波器

matlab高斯滤波器1 使用 matlab 自带的函数 clear img imread lena tif w fspecial gaussian 5 5 1 replicate 图像大小通过赋值外边界的值来扩展 symmetric 图像大小通过沿自身的边界进行镜像映射扩展

1、使用matlab自带的函数

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; img = imread('lena.tif'); w = fspecial('gaussian',[5,5],1); %replicate:图像大小通过赋值外边界的值来扩展 %symmetric 图像大小通过沿自身的边界进行镜像映射扩展 I11 = imfilter(img,w,'replicate'); figure(1); imshow(img);title('原图像'); figure(2); imshow(I11);title('matlab高斯滤波后的图像');

结果:可以看到帽子和头发都非常显著的平滑了

matlab高斯滤波器matlab高斯滤波器


2、自己编写的高斯滤波函数

%own gaussian function I = imread('lena.tif'); I = double(I);%convert unit8 to double myimg = I; [rows, cols] = size(I); size = 5; conv = zeros(size,size);%高斯核 segma = 1; sum = 0; center = 3; for i=1:size for j=1:size %%利用高斯函数计算模板的各个参数 temp = exp ( -((i-center)*(i-center) + (j-center)*(j-center)) / 2*segma*segma ); conv(i,j) = temp / (2*3.14*segma*segma); sum =sum + conv(i,j); end end conv = conv ./ sum; disp('kernel'); display(conv); %use gaussian kernel to smooth image for k=1:rows for m= 1:cols sum =0; %%卷积:模板与图像对应部分相乘再累加 for i=1:size for j=1:size if( ( (k-center+i) > 0 && (k-center+i) <= rows ) && ((m-center+j)>0 && (m-center+j)<=cols) ) sum = sum + conv(i,j) * I(k-center+i, m-center+j); end end end %%替换掉原像素 myimg(k,m) = sum; end end figure(3); imshow(myimg,[]); title('Gaussion Image'); 

matlab高斯滤波器

结论:使用自己编写的滤波,虽然也起到了平滑效果,但是图像亮度偏高些,还不知道原因,希望大神指点指点。




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204380.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:25
下一篇 2026年3月19日 下午8:26


相关推荐

  • Docker 部署 OpenClaw 注意事项

    Docker 部署 OpenClaw 注意事项

    2026年3月13日
    1
  • 如何区分华为交换机类型

    如何区分华为交换机类型

    2021年7月23日
    97
  • ETL的开发过程[通俗易懂]

    ETL的开发过程[通俗易懂]在生产环境中,使用shell脚本完成一次etl操作1.定义一个etl函数,里面传入json行数据,用json.loads加载行数据,并对行数据进行判断,如果没有行数据,或data字段没有在行数据里,就直接返回空的结果,否则就继续往下执行2.接着获取行里的数据,用for循环判断,如果包含某个值,我就将变量赋值取出,装在集合容器里3.设置sparksession会话,并ena…

    2022年5月23日
    37
  • TextWatcher接口

    TextWatcher接口TextWatcher 是 packageandro text 包下的一个接口 这个接口继承了另外一个接口 NoCopySpan TextWatcher 接口里主要是定义了三个抽象方法 下面是它的基本用法 TextWatcherf newTextWatch nbsp nbsp nbsp nbsp nbsp nbsp Override nbsp nbsp nbsp

    2026年3月18日
    2
  • Win10 如何配置JDK环境变量

    Win10 如何配置JDK环境变量Win10配置JDK环境

    2022年7月23日
    15
  • Tomcat安装(详细)

    Tomcat安装(详细)1、Tomcat下载安装​ 1、安装​ (一)Tomcat官网下载​ (二)解压​ (三)配置环境变量​ (四)启动-关闭Tomcat ​ (五)访问测试Tomcat输入http://localhost:8080网页打不开​ 2、了解配置文件及目录结构可以配置启动端口号默认端口号:8080MySQL默认:3306http:80https:443<Connectorport=”8080″protocol=”HTTP/1.1

    2025年11月20日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号