实验2 灰度图像增强.docx
《实验2 灰度图像增强.docx》由会员分享,可在线阅读,更多相关《实验2 灰度图像增强.docx(11页珍藏版)》请在冰豆网上搜索。
![实验2 灰度图像增强.docx](https://file1.bdocx.com/fileroot1/2023-1/26/2c5e33fd-b793-4bca-984f-d956d6a76b78/2c5e33fd-b793-4bca-984f-d956d6a76b781.gif)
实验2灰度图像增强
试验2灰度图像增强
一.试验目的:
通过本实验使学生掌握使用MATLAB对灰度图像进行空域增强的目的,加深对空域图像增强的理解。
二.试验内容:
(一)直方图均衡
1读入lena_gray.tif图像文件,画出直方图并解释之;
程序如下:
lenac=imread('d:
\test_images\lena_gray.tif','tif');
imhist(lenac)
结果如下:
分析:
由直方图可以看出,此图像的灰度级别较低,即色调较暗,灰度级大多数分布在0~100范围内,且亮度分布从0~3500有较大的变化,但图像具体是什么样的无法判断出。
2.对该图像进行直方图均衡,显示均衡后的图像及其直方图,并解释之:
程序:
lenac=imread('d:
\test_images\lena_gray.tif','tif');
imhist(lenac);
len_aver=histeq(lenac);
imshow(len_aver);
imhist(len_aver)
均衡后的图像:
均衡后的直方图:
.分析:
从图像中我们就可以看出处理后的图像比原来亮了,从直方图中,也可以清楚的看出图像的灰度级较均匀的分布在0~255范围内,且亮度都较高。
3.将均衡后的图像存为lena_gray_1.tif文件。
程序:
lenac=imread('d:
\test_images\lena_gray.tif','tif');
len_aver=histeq(lenac);
imhist(len_aver);
imwrite(len_aver,'d:
\jly\lena_gray_1.tif','tif')
结果为:
4再将lena_gray_1.tif文件读入并重复上述过程,说明增强效果并解释之:
程序:
lenac=imread('d:
\test_images\lena_gray.tif','tif');
len_aver=histeq(lenac);%¾ùºâºóµÄÖ±·½Í¼
imhist(len_aver);%ÏÔʾ¾ùºâºóÖ±·½Í¼
imwrite(len_aver,'d:
\jly\lena_gray_1.tif','tif');
lenac_1=imread('d:
\jly\lena_gray_1.tif','tif');
%imshow(lenac_1);%ÏÔʾͼÏñ
lenac_1_aver=histeq(lenac_1);
subplot(2,2,1)
imshow(len_aver);
title('一次均衡化的效果');
subplot(2,2,2)
imshow(lenac_1_aver);
title('两次均衡化的效果');
subplot(2,2,3)
imhist(len_aver);
title('一次均衡化的直方图');
subplot(2,2,4)
imhist(lenac_1_aver)
title('两次均衡化的直方图');
增强的效果:
分析:
从图像跟直方图中我们都可以看出,一次均衡化的效果跟两次均衡化的效果是一样的。
二.图像灰度变换
读入lena_gray.tif文件,对其灰度进行下列调整,并显示图像:
(1)将图像的灰度级降低70%,同屏显示原图像和灰度调整后的图像:
程序
lenac=imread('d:
\test_images\lena_gray.tif','tif');
lenac_low=lenac.*0.7;
subplot(1,2,1)
imshow(lenac)
title('»Ò¶È±ä»»Ç°µÄͼÏñ');
subplot(1,2,2)
imshow(lenac_low)
title('»Ò¶È½µµÍ70%ºóµÄͼÏñ');
结果:
(2)将图像灰度加上一个值(50),使图像变亮,编程,同屏显示原图像和灰度调整后图像:
程序:
lenac=imread('d:
\test_images\lena_gray.tif','tif');
lenac_enhance=lenac+50;
subplot(1,2,1)
imshow(lenac)
title('»Ò¶È±ä»»Ç°µÄͼÏñ');
subplot(1,2,2)
imshow(lenac_enhance)
title('»Ò¶ÈÔöÇ¿ºóµÄͼÏñ');
结果:
(3)画出灰度变换前后图像的直方图,进行比较,说明现象和原因。
图像灰度降低的程序:
lenac=imread('d:
\test_images\lena_gray.tif','tif');
lena_low=lenac.*0.7;
subplot(1,2,1)
imhist(lenac);
title('»Ò¶È±ä»»Ç°µÄÖ±·½Í¼');
subplot(1,2,2)
imhist(lena_low);
title('»Ò¶È½µµÍºóµÄÖ±·½Í¼');
灰度降低后的直方图
灰度增强后的程序:
lenac=imread('d:
\test_images\lena_gray.tif','tif');
lena_enhance=lenac+50;
subplot(1,2,1)
imhist(lenac);
title('»Ò¶È±ä»»Ç°µÄÖ±·½Í¼');
subplot(1,2,2)
imhist(lena_enhance);
title('»Ò¶ÈÔöÇ¿ºóµÄÖ±·½Í¼');
分析:
直方图中我们可以看出,灰度降低后的直方图的灰度级大多数在0~150范围内,说明,灰度降低后的图像灰度整体变小;同理,灰度增强后的图像的灰度级大多数在50~255的范围内,即灰度增强后的图像灰度整体增大。
这符合直方图的概念,即图像的降低与增强是对灰度级来说的,且在直方图中可以体现。
(4)使用MATLAB工具箱函数imadjust来调整亮度,imcomplement函数进行反色。
程序:
lenac=imread('d:
\test_images\lena_gray.tif','tif');
B=imadjust(lenac,[0.0,0.3],[0.6,1.0]);
subplot(1,2,1)
imshow(B)
subplot(1,2,2)
C=imcomplement(B)
imshow(C)
运行结果:
三.思考:
灰度变化时应该注意什么?
灰度变化时,由于图像的存储是以数字矩阵的形式存储的,故要保证变换时是矩阵的运算,比如乘法是矩阵的乘法等等。