《数字图像处理》实验报告一

news2024/9/20 22:49:50

一、实验任务与要求

1、用 matlab 编写空间域点处理操作处理给定的几幅图像,要求:

  • 使用 imread 读取当前工作目录下的图像
  • 设计点处理操作并用代码实现处理
  • 用 imnshow 显示处理后的图像
  • 用 imwrite 保存处理后的图像

 

2、提交内容:m文件 + 实验报告。实验报告需包括以下内容:

  • 各图像存在什么质量问题?
  • 需要如何操作才可以改善图像质量?
  • 根据上述的认识选择了何种点处理操作?
  • 点处理操作中有哪些参数需要重点关注,这些参数的作用是什么?

 

二、实验报告

图像1:

1、图像存在的质量问题及操作?

图片看起来白蒙蒙的,可以增强一下对比度。

 

2、选择的点处理操作?

通过幂律变换增强对比度:s=cr^γ

 

3、实现代码:

f=imread('C:\Users\Lenovo\Desktop\aerialview-washedout.tif'); %读取图像
f=im2double(f); %将图像转换为双精度
f1=power(f,2.0); %gamma=2.0
f2=power(f,3.0); %gamma=3.0
f3=power(f,4.0); %gamma=4.0
subplot(2,2,1);
imshow(f);title('原图'); %显示原图
subplot(2,2,2); 
imshow(f1);title('gamma=2.0'); %显示处理后图片
subplot(2,2,3); 
imshow(f2);title('gamma=3.0'); 
subplot(2,2,4);
imshow(f3);title('gamma=4.0'); 
imwrite(f3,'C:\Users\Lenovo\Desktop\gamma4.tif'); %保存图像

4、效果:

可以看出当 γ=3.0 时效果较好 。

也可以通过 imadjust(I,[low_in  high_in],[low_out  high_out],gamma) 函数处理。

f1=imadjust(f,[0 1],[0 1],3.0);  %gamma=3.0

5、重点关注的参数?

处理过程中需要注意 γ 的取值,当 γ<1 对比度降低;当 γ>1 对比度增强,根据需要调整 γ 的值。

6、直方图均衡化增强对比度

除点处理操作外还可以通过直方图均衡化增强对比度,使用 adapthisteq()histeq() 函数:

图像二:

1、图像存在的质量问题及操作?

图片主体突出不明确,可以突出图中植物根部的灰度范围。

2、选择的点处理操作?

通过分段线性变换实现灰度级分层,突出特定灰度范围内的亮度。可以使用 imadjust(I,[low_in  high_in],[low_out  high_out],gamma) 函数。

 

3、实现代码:

f=imread('C:\Users\Lenovo\Desktop\angiogram-aortic-kidney.tif'); %读取图像
subplot(2,2,1);
imshow(f);title('原始图像');
f1=imadjust(f,[0.3 0.7],[0 1]); %调整灰度1.0
subplot(2,2,2);
imshow(f1);title('1.0');
f2=imadjust(f,[0.5 0.8],[0 1]); %调整灰度2.0
subplot(2,2,3);
imshow(f2);title('2.0');
f3=imadjust(f,[0.5 0.8],[0.1 0.9]); %调整灰度3.0
subplot(2,2,4);
imshow(f3);title('3.0');
imwrite(f3,'C:\Users\Lenovo\Desktop\f1.tif'); %保存修改后图片

4、效果:

可以看出 low_in=0.5,high_in=0.8,low_out=0.1,high_out=0.9,gamma=1.0 时效果较好 。

 

5、重点关注的参数? 

处理过程中需要注意 low_inhigh_inlow_outhigh_out,以及 gamma 的取值。imadjust(I,[low_in  high_in],[low_out  high_out],gamma) 中低于 low_in 的灰度值会映射成 low_out,高于 high_in 的灰度值会映射成 high_out。实际应用中根据需要突出灰度值的范围调整数值。

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

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

相关文章

假冒国企现形记:股权变更视角下的甄别分析

启信慧眼-启信宝企业版 假冒国企公告2024-06-07&#xff0c;中粮集团有限公司官网发布《关于冒名中粮企业名单公告》。公告显示&#xff0c;”有不法分子通过伪造相关材料等方式&#xff0c;以我集团子公司名义开展业务&#xff0c;进行虚假宣传。经核实&#xff0c;上述公司假…

【SpringCloud】API网关(Spring Cloud Gateway)

本文基于上一篇http://t.csdnimg.cn/q3YrK 使用抽取的方案使用feign的基础上使用Spring Cloud Gateway。 API网关 API网关&#xff08;简称网关&#xff09;也是一个服务&#xff0c;通常是后端服务的唯一入口。它就像是整个微服务架构的门面&#xff0c;所有的外部客户端访问…

Python学习笔记13:进阶篇(二),类的继承与组合

类的继承 我们在编写一系列的类的时候&#xff0c;会发现这些类很相似&#xff0c;但是又有各自的特点和行为。在编写这些类的时候&#xff0c;我们可以把相同的部分抽象成一个基类&#xff0c;然后根据其他不同的特点和行为&#xff0c;抽象出子类&#xff0c;继承这个基类。…

python实训day4

1、查看数据库的版本 2、查看当前用户 3、查看当前数据库 4、计算表达式的结果; 任何一个数据库,无论大小,都首先是一个超级计算器 5、查看当前MySQL环境中所有的数据库; 系统数据库(只能看)和自定义数据库(任何操作) 6、先建数据库 gaoming 7、如果表已经存在,则创建不能成功 …

刷题之小欧的平均数(卡码网)

小欧的平均数 这道题不看解析的话完全没有思路&#xff0c;连题目都没读明白&#xff0c;甚至看了评论答出来了还是不知道为什么&#xff0c;有知道的朋友可以教教我 #include<iostream> using namespace std;int main() {int x,y,z;cin>>x>>y>>z;//…

oracle12c到19c adg搭建(六)切换后12c备库服务器安装19c软件在19c主库升级数据字典后尝试同步

一、安装19c软件 参考文章oracle12c到19c adg搭建&#xff08;三&#xff09;oracle19c数据库软件安装 二、原主库尝试通过19c软件启动数据库 2.1复制12c的相关参数文件和密码文件到19c目录 注意:密码文件需要从已切换主库19c传过来 [oracleo12u19p ~]$ cd /u01/app/oracle…

亲测有效!性能压测异常竟能自动化分析!

性能压测是一种评估系统运行效率和稳定性的方法&#xff0c;通过模拟真实的使用场景和负载条件&#xff0c;对系统进行压力测试和负载测试&#xff0c;并对测试结果进行分析&#xff0c;以评估系统的性能&#xff0c;其中性能压测结果分析是性能压测的重要环节。以往的性能压测…

ONLYOFFICE 桌面编辑器 8.1 发布:全新功能齐备的 PDF 编辑器、丰富的幻灯片版式

前言 在当前数字化迅速发展的时代&#xff0c;办公软件套件作为企业日常工作的核心工具&#xff0c;其功能的全面性和使用的便捷性直接影响着工作效率和团队协作的效果。在众多办公软件中&#xff0c;ONLYOFFICE凭借其卓越的性能和丰富的功能&#xff0c;备受用户青睐。近日&a…

深入了解 GPT-4 和 ChatGPT 的 API---OpenAI Playground

文章目录 基本概念OpenAI API 提供的可用模型在 OpenAI Playground 中使用 GPT 模型 掌握GPT-4 和 ChatGPT 的 API 的使用方法&#xff0c;以便有效地将它们集成到 Python 应用程序中。首先&#xff0c;需要了解 OpenAI Playground。这将使你在编写代码之前更好地了解模型。接着…

React尚硅谷115-126(setState、Hooks、Fragment、context、组件优化、renderprops

122&#xff0c;context 只能用value传&#xff0c;可以传对象&#xff0c;字符串 一种组件间通信方式, 常用于【祖组件】与【后代组件】间通信 使用&#xff1a; 创建Context容器对象&#xff1a; const XxxContext React.createContext() 渲染子组时&#xff0c;外面包…

MIT6.s081 2021 Lab Utilities

Boot xv6 按照示例切换到 util 分支后&#xff0c;看到目录下包含 Makefile 文件&#xff0c;执行 make qemu 即可。 sleep 思路 借助系统调用 sleep 实现一个命令行程序&#xff0c;关键是要找到封装了系统调用的 C 函数的位置&#xff0c;根据提示&#xff1a; … user/u…

软件测试--花了我一周时间整理各种测试模板

2024软件测试面试刷题&#xff0c;这个小程序&#xff08;永久刷题&#xff09;&#xff0c;靠它快速找到工作了&#xff01;&#xff08;刷题APP的天花板&#xff09;-CSDN博客跳槽涨薪的朋友们有福了&#xff0c;今天给大家推荐一个软件测试面试的刷题小程序。https://blog.c…

北邮《计算机网络》MAC子层笔记

文章目录 缩写复习MAC层所在层次动态分配信道算法们的简要介绍信道的五条基本假设多路访问的协议&#xff08;理论上的协议&#xff09;aloha协议CSMA协议其他冲突避免协议无线局域网协议 &#xff0c;MACA 以太网协议802.3&#xff08;实际协议&#xff0c;刚刚是理论&#xf…

光猫BOB 功率调测误差分析与校验指南

DDM&#xff08;Digital Diagnostic Monitoring&#xff09;数字诊断监控技术&#xff0c;是光模块中使用的技术&#xff0c;以便用户能够监控光模块的实时参数。这些参数包括工作温度、工作电压、工作电流、发射和接收光功率等&#xff0c;还可以显示模块的常规波长、速率、传…

在Vue表单中设置缺省值

有个需求&#xff0c;在新增记录的时候&#xff0c;打开新增页面&#xff0c;员工姓名处获取到当前登录用户的用户名&#xff0c;并将其设置为缺省值。 /** 新增按钮操作 */handleAdd() {this.reset();this.open true;// this.form.employeeName this.$store.state.user.name…

计算机网络 DHCP以及防护

一、理论知识 1.DHCP&#xff1a;用于在网络中自动分配IP地址及其他网络参数&#xff08;如DNS、默认网关&#xff09;给客户端设备。 2.VLAN&#xff1a;逻辑上的局域网分段&#xff0c;用于隔离和管理不同的网络流量。 3.DHCP地址池&#xff1a;为每个VLAN配置不同的DHCP地…

【语义分割系列】基于cityscape的DDRNet算法

基于cityscape的DDRNet算法 前言 DDRNet是专门为实时语义分割设计的高效主干。该模型由两个深度分支组成,在这两个分支之间执行多次双边融合,并且还设计了一个新的上下文信息抽取器,名为深度聚合金字塔池模块(DAPPM),用于扩大有效的接受域,并基于低分辨率特征映射融合…

QT在VS环境中使用,控件显示中文乱码解决方法

首先来看乱码显示的效果如下&#xff1a; 上图左侧显示内容为中文&#xff0c;控件对应代码如下&#xff1a; QLabel* UserNameLabel new QLabel(QString("用户名&#xff1a;")); QLabel* NameLabel new QLabel(tr("姓名&#xff1a;"));下面我们对QL…

【Spine学习15】变换约束

变换约束&#xff1a;能让一个骨骼受另一个骨骼的变化影响。 1、选择m创建一个变换约束&#xff1a; 2、点击这个约束&#xff0c; 将移动数值拉的越满&#xff0c;m越接近s骨骼 当约束为0也就是默认的时候&#xff0c;m骨骼将不会受影响&#xff0c;变换约束可有可无。 tips…

物联网系统运维——实验备份与恢复,数据镜像软件DRBD介绍,DRBD的安装和应用,extundelete的安装和应用(重点),环境准备,配置设置

一.数据备份 1.数据备份的重要性 备份是系统中需要考虑的最重要的事项,虽然这在系统的整个规划,开发和测试过程中甚至占不到1%,看似不太重要且默默无闻的工作只有到恢复的时候才能真正体现出其重要性,任何数据的丢失与数据宕机&#xff0c;都是不可以被接收的。 2.数据备份策…