实现图像2DFFT旋转缩放
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像作业
基于matlab血管脉络图像的增强处理
学院信息工程学院
专业测控技术与仪器
姓名姚尚磊
学号100118009
基于matlab血管脉络图像的增强处理
内容摘要
图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。是基于直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础。本文主要讲的是基于matlab血管脉络图像的增强处理。当今医学发展迅速,特别是医学中一些图像对医生判断疾病以及治疗有很大的帮助,为了使图片变得清晰,使用图均衡化处理;图片暗淡让图片看清楚还可以让图片变亮一些,改变灰度值范围;通过边缘检测以检测血管边缘;用以处理医学血管图像,为医生判断疾病提供方便。
1 图像增强概述
1.1 图像增强背景及意义
在一般情况下,经过图像的传送和转换,如成像、复制、扫描、传输和显示等,经常会造成图像质量的下降,即图像失真。图像增强的目的是增强图像的视觉效果,将原图像转换成一种更适合于人眼观察和计算机分析处理的形式。它一般要借助人眼的视觉特性,以取得看起来较好地视觉效果,很少涉及客观和统一的评价标准。增强的效果通常都与具体的图像有关系,靠人的主观感觉加以评价。
流程图:
2 图像增强的基本理论
2.1常用图像增强的基本方法
1)直方图均衡化
有些图像在低值灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚。这时可以通过直方图均衡化将图像的灰度范围分开,并且让灰度频率较小的灰度级变大,通过调整图像灰度值的动态范围,自动地增加整个图像的对比度,使图像具有较大的反差,细节清晰。
(2) 对比度增强法
有些图像的对比度比较低,从而使整个图像模糊不清。这时可以按一定的规则修改原来图像的每一个象素的灰度,从而改变图像灰度的动态范围。
2.1.1直方图均衡化
(1)计算原图像的灰度直方图)(K r r P ;
(2)计算原图像的灰度累积分布函数k s ,进一步求出灰度变换表;
(3)根据灰度变换表,将原图像各灰度级映射为新的灰度级。
在MATLAB 中,histeq 函数可以实现直方图均衡化。该命令对灰度图像I 进行变换,返回有N 级灰度的图像J ,J 中的每个灰度级具有大致相同的像素点,所以图像J 的直方图较为平坦,当N 小于I 中灰度级数时,J 的直方图更为平坦,缺省的N 值为64。
以下展示了直方图均衡化的效果:
直方图均衡化程序:
I=imread('blood.jpg');
I=rgb2gray(I);
J=adapthisteq(I);
subplot(2,2,1);
imshow(I);
title(I);
subplot(2,2,2);
imshow(J);
title(J);
subplot(2,2,3)
imhist(I,64)
title(I);
subplot(2,2,4);
imhist(J,64);
title(J);
2.1.2灰度调整
imadjust 函数
MATLAB 软件中,imadjust 函数可以实现图像的灰度变换,通过直方图变换调整图像的对比度。
()gamma top bottom high low I imadjust J ],[],[,=
其中,gamma 为校正量r ,][high low 为原图像中要变换的灰度范围,][top bottom 指定了变换后的灰度范围。
灰度变换程序
I=imread('blood.jpg');
J=imadjust(I,[ ],[0.5 1]);
K=imadjust(I,[ ],[ ],0.3);
subplot(2,3,1);
imshow(I);
title(I)
subplot(2,3,2);
imshow(J);
title(J)
subplot(2,3,3);
imshow(K);
title(K);
subplot(2,3,4);
imshow(J,64);
title(J)
subplot(2,3,5);
imshow(J,64);
title(J)
subplot(2,3,6),
imshow(K,64);
title(K)
2.1.3边缘检测
通过各种算子检测边缘是边缘凸显出来边缘检测程序:
I=imread('blood.jpg'); figure;
imshow(I);
f= rgb2gray(I);
BW1=edge(f,'Roberts'); figure;
imshow(BW1);
BW2=edge(f,'sobel'); figure; imshow(BW2);
BW3=edge(f,'prewitt'); figure;
imshow(BW3);
BW4=edge(f,'log'); figure; imshow(BW4);
BW5=edge(f,'canny');
figure;
imshow(BW4);
附录程序及解释:
I=imread('blood.jpg');
I=rgb2gray(I);
J=adapthisteq(I);%自适应直方图云衡化函数
subplot(2,2,1);%2行2列第一幅图
imshow(I);
title(I); %原图
subplot(2,2,2);
imshow(J);
title(J); %('直方图均衡化后的结果')
subplot(2,2,3)
imhist(I,64)计算和显示灰度图I的直方图,n为灰度级数title(I); %('原图的直方图');
subplot(2,2,4);