将给定的图像进行增强处理,分别使用线性变换增强、对数变换增强、指数变换增强以及伪彩色增强处理,分析增强后的视觉效果。首先,将原始图像进行灰度图像处理,以达到增强效果和原始图像对比。然后,分别根据线性变换增强、对数变换增强、指数变换增强和伪彩色增强公式,设置相应参数,由于matlab中没有相应库函数进行使用,因此需要设置线性变换参数等值。最后,将增强后图像与原始图像输出进行对比。

文章目录

  • 一、主要设计思想
  • 二、实现算法及程序流程图
  • 三、源程序
    • 1、线性变换增强
    • 2、对数变换增强
    • 3、指数变换增强
    • 4、伪彩色增强
  • 四、主要技术问题的处理方法
  • 五、实验结果及分析

一、主要设计思想

线性变换增强对图像进行均衡化处理,并显示处理后图像及其直方图,与原图像作比较;对数变换常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰度的图像细节,指数变换增强由于Matlab中没有相应库函数进行使用,因此需要设置线性变换参数等值;利用空间域灰度级-彩色变化对图像进行伪彩色增强。

二、实现算法及程序流程图

三、源程序

1、线性变换增强

%线性变换增强
i=imread('D:\pic\HG.bmp');%读原始图像
subplot(221),imshow(i),title('原图像');
subplot(222),imhist(i),title('原图像直方图');
j=histeq(i);   %对图像i做直方图均衡化
subplot(223),imshow(j),title('直方图均衡化');
subplot(224),imhist(j),title('直方图均衡化');

2、对数变换增强

%对数变换增强
i=imread('D:\pic\HG.bmp');
j=double(i); ;%图像双浮点转换
figure
subplot(121),imshow(i),title('原图');
j1=(log(j+1))/10; %对数变换表达式
subplot(122),imshow(j1,[]),title('对数变换增强');

3、指数变换增强

%指数变换增强
i=double(imread('D:\pic\linumax.jpg'));
figure,subplot(221),imshow(i,[]);
c = 4; n1 = 0.5;n2=1;n3=5;%设定指数变换参数
i1 = c .* i .^n1;%指数变换表达式
i2 = c .* i .^n2;%指数变换表达式
i3 = c .* i .^n3;%指数变换表达式
subplot(222),imshow(i1,[]),title('r=0.5')
subplot(223),imshow(i2,[]),title('r=1')
subplot(224),imshow(i3,[]),title('r=5')

4、伪彩色增强

%伪彩色增强
i=imread('D:\pic\HG.bmp');%读原始图像
Gray=rgb2gray(i);%对图像灰度化
[m,n]=size(Gray);
J=zeros(m,n);
for i=1:mfor j=1:nif Gray(i,j)>=225j(i,j,1)=125;
else if Gray(i,j)<225&&Gray(i,j)>=125J(i,j,2)=125; else if Gray(i,j)<125&&Gray(i,j)>=40J(i,j,1)=125; elseJ(i,j,3)=0; endendendend
end
subplot(121),imshow(J,[]),title('伪彩色增强');

四、主要技术问题的处理方法

线性变换增强任选一幅灰度图像,显示原图像,绘制其及直方图,然后对图像进行均衡化处理,并显示处理后图像及其直方图,与原图像作比较。
对数变换增强常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰度的图像细节更容易看清楚。
指数变换增强是任选一副灰度图像对其进行指数变换增强,选择不同的r(分别取r=0.5,r= 1,r=5),观察分析其显示结果。
伪彩色增强需要多重循环对不同坐标像素灰度值进行处理。

五、实验结果及分析


直方图均衡化扩展了原图的直方图,使图像的对比度扩大。但是比原图显得更粗糙,整体效果并不是很理想。

实验可得,原图中低灰度值的部分在经过对数变换后灰度值有所增强。高灰度值的部分也同时增强了。

当r<1时,图像变亮;当r=1时,没有改变;当r>1时,图像变暗。

利用空间域灰度级-彩色变化发对图像进行伪彩色增强,效果理想。

数字图像增强的一般方法相关推荐

  1. 数字图像处理的研究方法

    数字图像处理是近年来电子.通讯和计算机等领域的热门研究领域,其在科研.经济.军事.娱乐等等国计民生的各个领域都具有非常广阔的应用前景.数字图像处理处是一门交叉学科,涉及数学.计算机.电子.通讯.物理等 ...

  2. php 只能输入中英文,JavaScript基于正则实现控制输入框中只能输入中文、数字和英文的方法...

    这篇文章主要介绍了JavaScript控制输入框中只能输入中文.数字和英文的方法,基于正则验证实现字符输入限制功能,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了Javascript控制输 ...

  3. python输出中文加数字_python处理“#”开头加数字的html字符方法

    python如何处理""开头加数字的html字符,比如:风水这类数据. 用python抓取数据时,有时会遇到想要数据是以""开头加数字的字符,比如图中所示的这些 ...

  4. Shell中判断字符串是否为数字的6种方法分享

    本篇文章主要介绍了"shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下. #!/ ...

  5. php 正则获取数字,php结合正则获取字符串中数字的几种方法

    本篇文章主要介绍php结合正则获取字符串中数字的几种方法,感兴趣的朋友参考下,希望对大家有所帮助. php结合正则获取字符串中数字<?php $patterns = "/\d+/&qu ...

  6. python中列表用某个数字出现的次数_Python实现统计给定列表中指定数字出现次数的方法...

    本文实例讲述了Python实现统计给定列表中指定数字出现次数的方法.分享给大家供大家参考,具体如下: 直接看实现: #!usr/bin/env python #encoding:utf-8 ''''' ...

  7. JavaScript字符串转数字的5种方法及其陷阱

    2019独角兽企业重金招聘Python工程师标准>>> 摘要 :JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法! 原文: Converting St ...

  8. Java黑皮书课后题第7章:7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数。编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数

    7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数.编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数 题目 题目描述 破题 代码 运行实例 ...

  9. Java黑皮书课后题第7章:7.10(找出最小元素的下标)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素下标。编写测试程序,提示用户输入10个数字,调用这个方法返回最小值的下标(多个则最小

    7.10(找出最小元素的下标)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素下标.编写测试程序,提示用户输入10个数字,调用这个方法返回最小值的下标(多个则返回最小的下标) 题目 题目描述 ...

最新文章

  1. python编程入门t-python高级编程——入门语法(一)
  2. JAVA遇见HTML——JSP篇(JSP内置对象上)
  3. Python爬虫应用实战-爬取股票数据做分析
  4. python with open as yaml_python怎么解析yaml文件?
  5. [Spark]-RDD详解之变量操作
  6. c++读取utf8文件_Node.js 进阶之 fs 文件模块学习
  7. 不同浏览器CSS隐藏元素滚动条
  8. matlab频谱分析_想知道有限精度对FFT的影响?Matlab仿真看看
  9. Java是否存在内存泄露
  10. STM32基础知识(二)
  11. 发电机机房设计规范_柴油发电机房设计规范.docx
  12. vf计算机教程,VF教程,打印版.pdf
  13. 绕过iframe busting
  14. 老中医化妆品效果怎么样?舒缓系列拒绝敏感肌肤困扰
  15. CDS ORF 启动子 终止子 转录因子 基因结构 UTR
  16. 逍遥模拟器 设置端口号
  17. Zbar+ROS+opencv二维码识别与定位研究(一)
  18. CUDA和TensorRT入门
  19. Sublime Text3 配置LaTex编辑器
  20. MATLAB text legend title 输入减号 minus 符号的做法

热门文章

  1. 【量化投资】策略二(聚宽)
  2. RT-Thread Smart上手指南~
  3. 最新软件云测试方法你知道多少?有什么好处
  4. matlab 画海面图,教你画波光粼粼的海面
  5. 华为高管丁耘跑28公里后突发疾病去世:在公司工作26年
  6. 智能手机也是一种计算机对不对,介绍手机内存的新闻,我转的,对不对不要喷啊...
  7. 2022年「博客之星」参赛博主:顽石九变
  8. 秒杀排列组合(上)————排列篇
  9. 使用 ChatGPT 将您的 Excel 工作效率提高 10 倍,您不再需要成为 Excel 向导才能变得超级高效。
  10. C++语言的主要特点和优点