【数字图像处理】实验一 图像基本运算

图像基本运算

一、实验内容:

1. 熟悉和掌握利用Matlab工具进行数字图像的读、写、显示等数字图像处理基本步骤。

2. 熟练掌握各种图像点运算的基本原理及方法。

3. 能够从深刻理解点运算,并能够思考拓展到一定的应用领域。

二、实验原理:

1、单幅图像像素灰度的点运算;

2、两幅图像的代数与逻辑运算;

3、单幅图像缩放与旋转的几何变换。

三、实验方法及程序

1 、点运算

(1)选择一幅图像 lena.jpg,设置输入/输出变换的灰度级范围,a=0.3, b=0.6,c=0.1,d=0.9。

(2)设置非线性扩展函数的参数 c=2。

(3)采用灰度倒置变换函数 s 255 r 进行图像变换。

(4)设置二值化图像的阈值,分别为 level=0.4,level=0.7 参考程序如下:​​​​​​​

2 、图像代数、逻辑运

(1)选取两幅大小一样的灰度图像 i_lena.jpg 和 rice.png,将两幅图像 进行加法运算。程序如下所示:

(2)选取一幅混合图像,如(1)相加得到的图像 i_lena.jpg,将混合图 像与背景图像做减法运算,程序如下所示:

3 、图像几何变换

(1)选取一幅大小为256256像素的图像,如 i_lena.jpg.分别将图比例放大 1.5 倍,比例缩小 0.7 倍,非比例放大到420384像素,非比例缩小到150180像素。 程序如下所示:

(2)读取一幅图片,如 i_lena.jpg,设置图像旋转的角度分别为 0 45 和 0 90 ,采用 图形旋转函数 imrotate 对图像进行旋转。程序如下所示

五、实验结果分析

1 、点运算

2 、图像代数、逻辑运

(1)

(2)

3 、图像几何变换

(1)

(2)

六、思考题

1 . 线性扩展与对数非线性扩展各有什么特点?对数非线性交换能否使图像的低灰度级压缩,高灰度级扩展或者低灰度级扩展,高灰度级压缩?

答:

线性扩展:简单地通过线性变换扩展图像的灰度级,适用于整体对比度较低的图像。

对数非线性扩展:强调低灰度级的细节,对高灰度级进行压缩,适用于增强图像细节的同时压缩高亮区域,使图像更具视觉效果。

对数非线性扩展可以实现:

  1. 低灰度级压缩,使低灰度级区域更加黑暗。
  2. 高灰度级扩展,增强图像的高亮部分。

2 .任意两幅图片相叠加得到一幅混合图像,将此混合图像减去其中的一幅原图 像能得到另一幅原图像吗?通过以上实验小结各种图像代数运算的应用特点。

答:

图像相叠加得到混合图像,减去其中一幅原图像可以得到另一幅原图像。

图像代数运算(加法、减法)可用于图像融合、增强和还原。

3 .由非比例缩放得到的图片能够恢复到原图片吗?为什么?

答:

由非比例缩放得到的图片通常不能完全恢复到原图片。

非比例缩放引入了信息的丢失,导致不能准确还原原始图像。

4 .图像的旋转会导致图像的失真吗?若有,有什么办法可以解决这个问题?

答:

旋转可能导致图像失真,尤其是在角度较大时。

使用插值算法(如双线性插值)可以在旋转过程中减少失真,但在大角度旋转时,还是可能引入一定程度的失真。

相关推荐
Light6021 小时前
智链全球,韧性履约:AI赋能新一代海外EPC/EPCM项目管理解决方案
人工智能·数字孪生·风险管理·ai赋能·海外epc/epcm·智慧项目管理·协同增效
嗯嗯=21 小时前
python学习篇
开发语言·python·学习
WoY202021 小时前
opencv-python在ubuntu系统中缺少依赖
python·opencv·ubuntu
棒棒的皮皮1 天前
【深度学习】YOLO核心原理介绍
人工智能·深度学习·yolo·计算机视觉
大游小游之老游1 天前
Python中如何实现一个程序运行时,调用另一文件中的函数
python
2501_941804321 天前
从单机消息队列到分布式高可用消息中间件体系落地的互联网系统工程实践随笔与多语言语法思考
人工智能·memcached
mantch1 天前
个人 LLM 接口服务项目:一个简洁的 AI 入口
人工智能·python·llm
weixin_445054721 天前
力扣热题51
c++·python·算法·leetcode
档案宝档案管理1 天前
档案宝自动化档案管理,从采集、整理到归档、利用,一步到位
大数据·数据库·人工智能·档案·档案管理
朱朱没烦恼yeye1 天前
java基础学习
java·python·学习