图像处理2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用函数imread打开一幅灰度图像(fig0222b.jpg),使用函数imadjust实现图像灰度变换;

分别使用:

g1= imadjust ( f, [ 20 255 ], [ 0 255 ], 0.5 );

g2= imadjust ( f, [ 20 255 ], [ 0 255 ], 1 );

g3= imadjust ( f, [ 20 255 ], [ 0 255 ], 2 );

g4= imadjust ( f, [ 0 255 ], [ 255 05 ], 1 );

figure, imshow(g1);

figure, imshow(g2);

figure, imshow(g3);

figure, imshow(g4);

观察并记录四种变换差别。(注意:请将方括号内的整数需要手工折算成浮点数)>> f=imread('C:\Users\Administrator\Desktop\fig.jpg');

>> g1= imadjust ( f,[20/255 1], [ 0 1 ], 0.5 );

>> g2= imadjust ( f,[20/255 1], [ 0 1 ], 1);

>> g3= imadjust ( f,[20/255 1], [ 0 1 ], 2);

>> g4= imadjust ( f,[0 1], [1 05/255], 1);

>> figure, imshow(g1);

>> figure, imshow(g2);

>> figure, imshow(g3);

>> figure, imshow(g4);

使用函数imread打开一幅灰度图像(fig0305.tif),使用如下语句进行对数扩展

figure, imshow(f2);

g5= im2uint8(mat2gray(log(1+double (f2))));

figure, imshow(g5);

观察并记录均衡前后的差别。

>> f2=imread('C:\Users\Administrator\Desktop\fig.jpg');

>> figure, imshow(f2);

>> g5= im2uint8(mat2gray(log(1+double (f2))));

>> figure, imshow(g5);

使用函数imread打开一幅灰度图像(fig0222b.jpg),使用函数imhist绘制灰度直方图,直方图有四种表现形式

h = imhist( f3 );

figure, imhist( f3 );

figure, plot( h );

figure, stem( h );

figure, bar( h );

观察四种直方图的差别。

>> f3=imread('C:\Users\Administrator\Desktop\fig.jpg');

>> f3=rgb2gray(f3);

>> h =imhist(f3);

>> figure, imhist(f3);

050100150200250

>> figure, plot( h );

>> figure, stem( h );

>> figure, bar( h );

使用函数imread打开一幅灰度图像(fig0308.tif),说明这幅图像直方图存在的问题。使用函数histeq对图像进行直方图均衡,比较并记录均衡前后图像的变化

h1 = histeq( f3, 256 );

figure, imhist( h1 );

figure, imshow( f3 );

figure, imshow( h1 );

>> f3=imread('C:\Users\Administrator\Desktop\fig.jpg');

>> h1 = histeq( f3(:,:,3), 256 );

>> figure, imhist( h1 );

50

100

150

200

250

>> figure, imshow( f3 ); >> figure, imshow( h1 );

打开一幅灰度图像(fig0309abc.jpg),编写一个m 文件完成图2的灰度变换功能,观察并记录图像变换前后的区别,将程序记录 灰度变换的matlab 程序:

function gray(f) [m,n]=size(f); for i=1:m for j=1:n

if f(i,j)>=20&&f(i,j)<120 (i,j)=80/100*f(i,j); elseif f(i,j)>=200&&f(i,j)<=255

else f(i,j)=f(i,j); end end end

figure, imshow(f); figure, imhist(f(:,:,1));

运行命令:

>>f=imread('C:\Users\Administrator\Desktop\fig.jpg');

>> figure, imshow(f);

>> figure, imhist(f(:,:,1));

原直方图

原图像

050100150200250 gray(f)

变换图像

变换直方图

050100150200250

相关文档
最新文档