智能2112杨阳
一、目的
熟悉在MATLAB中如何读入图像、如何获取图像文件的相关信息、如何显示图像及保存图像等,熟悉相关的处理函数。
二、平台
MATLAB
三、内容与结果
1、请编写一个程序, 利用对比度拉伸函数, 提取图像的高亮度区域。
需运用imadjust函数提高图像的高亮度区域
代码:i = imread('/Users/darellyang/Desktop/Lenna.jpg');
m = stretchlim(i); %获取最佳区间
g = imadjust(i,m,[]); %调整灰度范围
figure,
subplot(121);imshow(uint8(i));title('原图');
subplot(122);imshow(uint8(g));title('增强后的图');
如图所示,将亮度增强后的图与原图按一行两列显示
2、请编写一个程序,绘制图像的归一化直方图。
需运用imhist函数并除以总灰度数完成绘制
代码: igray = rgb2gray(i);
counts = imhist(igray);
counts_norm = counts / sum(counts);
bar(counts_norm);
如图所示为图片i的灰度图归一化直方图
3、自己假定图像,完成直方图均衡化计算。
需运用histeq函数完成直方图均衡化
代码:I=imread('/Users/darellyang/Desktop/Lenna.jpg');
I=rgb2gray(I);
J=histeq(I);%直方图均衡化
figure
subplot(221),imshow(I);
title('原始图像');
subplot(223),imshow(J);
title('均衡化后的图像');
subplot(222),imhist(I);
title('原始图像的直方图');
subplot(224),imhist(J);
title('均衡化后的图像的直方图');
如图所示为直方图均衡化后两图像及直方图的对比按两行两列显示
4、自己假定图像,完成直方图规定化计算。
需运用histeq函数并与另一图片匹配完成直方图规定化
代码:I=imread('/Users/darellyang/Desktop/Lenna.jpg');
Imatch=imread('/Users/darellyang/Desktop/camema.jpg');
Jmatch=imhist(Imatch);%获取期望图像的直方图
Iout=histeq(I,Jmatch);%直方图匹配
figure
subplot(1,3,1),imshow(I);
title('原始图像');
subplot(1,3,2),imshow(Imatch);
title('期望图像');
subplot(1,3,3),imshow(Iout);
title('输出图像');
figure
subplot(3,1,1),imhist(I);
title('原始图像直方图');
subplot(3,1,2),imhist(Imatch);
title('期望图像直方图');
subplot(3,1,3),imhist(Iout);
title('输出图像直方图');
如图所示为直方图规定化后与期望图像及直方图的对比,按两行三列显示
5、自己假定图像,完成相关和卷积的计算。
需运用conv2函数完成相关计算,imfilter函数完成卷积计算
代码:img = imread('/Users/darellyang/Desktop/Lenna.jpg');
newimg = rgb2gray(img);
%边缘检测滤波器模板
w = [-1 0 -1;
0 4 0;
-1 0 -1];
%卷积
ff = conv2(double(newimg),double(w));
subplot(121);imshow(ff);title('卷积运算结果');
%相关
ff2 = imfilter(newimg,w);
subplot(122);imshow(ff2);title('相关运算结果');
如图所示为卷积和相关运算后的图像,按一行两列显示
6、自己假定图像,完成相关系数的计算。
需运用corrcoed函数完成相关系数的运算
代码:%相关系数
a = [1 3 6 7 8 16];
b = [2 4 7 9 15 19];
c = corrcoef(a,b);
如图所示a和b的相关系数是0.9454
四、总结
1.学会了图像的对比度拉伸函数,提高区域亮度,直方图均衡化和规定化,卷积、相关及相关系数的计算,会绘制图像的归—化直方图。
2.对数字像处理有了新的理解和认识,能运用所学知识处理一些基本的需求,在这门课程的学习中,能对所学专业及未来发展有更清晰的认知。