MATLAB高通滤波与低通滤波GUI实现代码

news2024/11/26 10:24:21

1.需搭建的GUI界面

两个axes,一个用于导入原始图像,一个用于输出处理后的头像,并且记好他们的Tag,在代码里会用到

2.导入图片功能代码实现

给一个String为导入图片的button添加callback函数,在这里提供了多种方法

function openImg_Callback(hObject, eventdata, handles)%菜单栏导入图片的控件
% hObject    handle to openImg (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% axes(handles.show_sourImg);%导入图片到框1
% image=imread('fruit.jpg');%导入flower图片
% imshow(image);
% title('yy')
%支持用户自己选定图片,任何格式的图片
%%选定axes show_sourImg
% [filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'载入图像');
%    if isequal(filename,0)||isequal(pathname,0)
%       errordlg('没有选中文件','出错');
%    return;
%    else 
%    file=[pathname,filename];
%    end
% pic = imread(file);
% axes(handles.show_sourImg);
% imshow(pic);
% title('原始图像','color','b');
 [filename,pathname]=uigetfile(...
        {'*.bmp;*.jpg;*.png;*.jpeg','ImageFiles(*.bmp,*.jpg,*.png,*.jpeg)';...
            '*.*','AllFiles(*.*)'},...
            'Pickanimage');
    axes(handles.show_sourImg);%show_sourImg是输出图像的axes的Tag,换成自己的
    global fpath;%这个全局变量很重要,事关程序时候能正常运行,后续的全局变量也尽量要用这个名字
    fpath=[pathname filename];
    img_1=imread(fpath);
    imshow(img_1);
    title('原始图像');

2.高通滤波代码

给String为高通滤波的button添加如下callback函数

 

function pushbutton24_Callback(hObject, eventdata, handles)%高通滤波
axes(handles.show_proImg);
global fpath;
img_2=imread(fpath);
img_2=rgb2gray(img_2);
img_2=imnoise(img_2,'salt & pepper',0.06);
 img_2=double(img_2);
img_2=fft2(img_2);
img_2=fftshift(img_2);

[M,N,~]=size(img_2);
nn=2;
d0=50;
m=floor(M/2);n=floor(N/2);
for i=1:M
    for j=1:N
        d=sqrt((i-m)^2+(j-n)^2);
        h=1/(1+0.414*(d0/d)^(2*nn));
        result(i,j)=h*img_2(i,j);
    end
end

result=ifftshift(result);
J2=ifft2(result);
J3=uint8(real(J2));
imshow(J3);
title('高通滤波图');

4.低通滤波代码

给String为低通滤波的button添加如下callback函数

 

function pushbutton23_Callback(hObject, eventdata, handles)%低通滤波
axes(handles.show_proImg);
global fpath;
img_2=imread(fpath);
img_2=rgb2gray(img_2);
img_2=imnoise(img_2,'salt & pepper',0.06);
img_2=double(img_2);
img_2=fft2(img_2);
img_2=fftshift(img_2);

[M,N,~]=size(img_2);
nn=2;
d0=50;
m=floor(M/2);n=floor(N/2);
for i=1:M
    for j=1:N
        d=sqrt((i-m)^2+(j-n)^2);
        h=1/(1+0.414*(d/d0)^(2*nn));
        result(i,j)=h*img_2(i,j);
    end
end
result=ifftshift(result);
J2=ifft2(result);
J3=uint8(real(J2));
imshow(J3);
title('低通滤波');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/88956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

订单增2倍?如何利用促销手段瞄准圣诞季高意向顾客?

圣诞节作为一个类似于中国春节的节日,在12月的最后一周拉开帷幕,据有关业内人士称,作为拥有众多全球站的亚马逊电子商务平台在此次圣诞节的促销狂欢节中表现似乎稍显停滞,其作为电商领域的龙头企业,没能守住其销售总额…

C++对象的初始化和清理,构造函数,析构函数,深拷贝,浅拷贝,初始化列表,静态成员变量,静态成员函数

目录 1、构造函数和析构函数 2、构造函数的分类及调用 3、拷贝构造函数的调用时机,什么时候会用到拷贝构造函数 4、构造函数的调用规则 4.1只要写了一个类,C编译器都会给每个类至少添加三个函数 4.2如果我们写了有参构造函数,编译器就不再…

jsp+ssm计算机毕业设计“原创音乐爱好者”交流网站论文【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

java基础讲义05-数组

数组学习一 一维数组1.1 数组介绍1.2 多个变量和数组对比1.3 数组的定义和初始化1.3.1 数组定义1.3.2 数组初始化1.4 数组访问二 数组内存结构2.1 JVM内存介绍2.1.1一个数组对象的内存图2.1.2常见异常处理三 数组常见操作四 二维数组4.1 二位数组介绍4.2 二维数组定义和初始化4…

C语言---指针初阶---总结

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​ 📣系列专栏:鹏哥带我学c带我飞 💬总结:希望你看…

工业4.0 资产管理壳学习笔记( 6)-管理壳细节

本文是“资产管理壳细节 Part1的读书笔记。 <Details_of_the_Asset_Administration_Shell_Part1_V3.pdf> 要真正了解工业4.0 的管理壳&#xff0c;绕不开认真地读这篇文章。老实说&#xff0c; 第一次读这个文本会发现什么都明白&#xff0c;就是不知道有什么用场。其实学…

三种大数据应用架构介绍

信息技术的发展&#xff0c;如今数据存储能力上升到了 TB、PB 级别&#xff0c;企业和政府部门都以各种形式存储了大量的数据&#xff0c;如何快速有效地处理规模大、结构复杂的数据&#xff1f;本文主要介绍大数据的三类应用架构MapReduce、Hadoop、Spark&#xff0c;进行数据…

项目:德波量化(DealBot)

概述 德波量化&#xff08;DEALBOT&#xff09;项目研发始于2015年&#xff0c;初衷是建立一个可以自己编写交易策略&#xff0c;又可以自动化交易的小软件。为了这个目的&#xff0c;广泛搜寻了现有的开源量化交易软件&#xff0c;包括国外的Backtrader、zipline、Pysystemtr…

SSM整合01:

1.1原始方式整合 11.编写相应配置文件 Spring配置文件&#xff1a;applicationContext..xml SprngMVCi配置文件&#xff1a;spring-mvc.xml MyBatis映射文件&#xff1a;AccountMapper..xml .MyBatis核心文件&#xff1a;sqlMapConfig.xml 数据库连接信息文件&#xff1a;idbc.…

[C++数据结构](34)B树

文章目录B 树概念与性质B 树基本操作与实现框架查找插入遍历B 树性能分析及其优势B 树概念与性质 1970 年&#xff0c;R.Bayer 和 E.mccreight 提出了一种适用于外查找的树&#xff0c;它是一种平衡的多叉树&#xff0c;称为 B 树&#xff08;或 B-树、B_树&#xff09;。 一…

数字先锋 | 主机、硬盘、CPU统统没有? 这个电教室有点“潮”!

百年大计&#xff0c;教育为本。在数字中国建设整体布局和推进下&#xff0c;教育新基建为教育高质量发展构筑了数字底座&#xff0c;更为教育创新变革提供了强大的技术基础和应用环境。近年来&#xff0c;教育部门紧抓新一代信息技术发展机遇&#xff0c;赋能学校高质量发展&a…

使用YOLOV5训练口罩检测模型

一、YOLOV5源码和口罩数据集的下载与导入 我是在github上下载的&#xff0c;地址是GitHub - ultralytics/yolov5 at v7.0&#xff0c;下载之后&#xff0c;我将其导入pycharm环境中&#xff0c; 数据集在roboflow上面下载的&#xff0c;地址是Computer Vision Datasets&#…

Linux基础-压缩与打包

该文章主要为完成实训任务&#xff0c;详细实现过程及结果见【参考文章】 参考文章&#xff1a;https://howard2005.blog.csdn.net/article/details/127129580 文章目录一、压缩与打包1.1 压缩1.2 打包1.3 压缩或打包文件常见拓展名二、gzip命令2.1 命令作用2.2 选项参数2.3 实…

python中pandas进行数据分析与可视化(1)

1.创建数据源 matplotlib库是用于数据可视化&#xff0c;pandas则是用于数据分析&#xff0c;在导入这两个包之后&#xff0c;我们可以手工创建两个数据&#xff0c;其表示的是在某一年里&#xff0c;不同名称的新生儿数量&#xff0c;比如被叫做Bob的新生儿有968位 import m…

基于模型预测算法的混合储能微电网双层能量管理系统研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

动态规划之01背包问题

背包练习网址https://www.luogu.com.cn/contest/92872 想要做题的话可以到这里面来进行完成&#xff08;邀请码&#xff1a;r36l&#xff09;。注&#xff1a;要输入邀请码才可以进入。 满篇都是干货&#xff0c;有详细的注释和代码&#xff0c;请放心观看。 这就是传说中的 0…

[附源码]Python计算机毕业设计二手交易平台管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

数据生态第四弹 | OpenMLDB Hive Connector,架构起数据仓库到特征工程的生态桥梁

导读 近日&#xff0c;OpenMLDB 实现了与开源数据仓库软件 Hive 的连接&#xff0c;继完成与 Kafka、Pulsar、RocketMQ 等实时数据源生态整合后&#xff0c;持续构建离线数据生态&#xff0c;期待建设一个更加全面一体的上下游生态圈&#xff0c;在吸引更多用户的同时也能降低…

【能效管理】AcrelEMS-UT综合管廊能效管理平台解决方案应用分析

平台概述 AcrelEMS-UT综合管廊能效管理平台集电力监控、能源管理、电气安全、照明控制、环境监测于一体&#xff0c;为建立可靠、安全、高效的综合管廊管理体系提供数据支持&#xff0c;从数据采集、通信网络、系统架构、联动控制和综合数据服务等方面的设计&#xff0c;解决了…

DC-4靶场教程

探测目标靶机&#xff0c;获取到ip arp-scan -l扫描开放的端口 masscan -p1-65535 192.168.250.213 --rate10000使用nmap获取端口、服务版本、系统等详细信息 nmap -sC -sV -p- -A -T4 192.168.250.213查看使用的中间件 whatweb http://192.168.250.213/访问80端口 没有其…