其他常用的图像转换函数有:
gray2ind函数,将灰度图像转换成索引图像。
Im2bw函数,将其它图像转化为二值图像。
Ind2gray函数,将索引图像转换成灰度图像。
Rgb2gray函数,将彩图像转换成灰度图像。
1.利用imread( )函数读取一幅图像,存入一个数组中;
2.利用whos 命令提取该读入图像flower.tif的基本信息;
3.利用imshow()函数来显示这幅图像;
函数执行语句
    A = imread('saturn.png');
    whos
      Name        Size                  Bytes  Class    Attributes
A        1500x1200x3            5400000  uint8             
imshow(A)
4.利用imfinfo函数来获取图像文件的压缩,颜等等其他的详细信息;
imfinfo('saturn.png')
5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality,q), q0-100
imwrite(A,'xingxing.jpg','quality',25)
B = imread('xingxing.jpg');
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp
imwrite(A , 'xingxing.bmp')
C = imread('xingxing.bmp');
7.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
F = imread('circbw.tif');
im2bw(F)
imshow(F)
实验二 图像直方图与灰度变换
下面给出灰度变化的MATLAB程序
f=imread('medicine_pic.jpg');
g=imhist(f,256);        %显示其直方图
g1=imadjust(f,[0 1],[1 0]);%灰度转换,实现明暗转换(负片图像)
figure,imshow(g1)
g2=imadjust(f,[0.5 0.75],[0 1]);%0.50.75的灰度级扩展到范围[0 1]
figure,imshow(g2)
g=imread('point.jpg');
h=log(1+double(g));%对输入图像对数映射变换
h=mat2gray(h);    %将矩阵h转换为灰度图片
h=im2uint8(h);    %将灰度图转换为8位图
figure,imshow(h)
下面给出直方图均衡化增强图像对比度的MATLAB程序:
I=imread(‘pollen.jpg); % 读入原图像
J=histeq(I); %对原图像进行直方图均衡化处理
Imshow(I); %显示原图像
Title(‘原图像’);  %给原图像加标题名
Figureimshow(J);  %显示直方图均衡化后的图像
Title(‘直方图均衡化后的图像’) ; %给直方图均衡化后的图像加标题名
Figure; subplot(1,2,1) ;%对直方图均衡化后的图像进行屏幕控制;作一幅子图 作为并排两幅图的第1幅图
Imhist(I,64);  %将原图像直方图显示为64级灰度
Title(‘原图像直方图’) ; %给原图像直方图加标题名
Subplot(1,2,2);  %作第2幅子图
Imhist(J,64) ; %将均衡化后图像的直方图显示为64级灰度
Title(‘均衡变换后的直方图’) ; %给均衡化后图像直方图加标题名
1、利用自己编写的灰度直方图计算程序计算rice.tif图像的直方图,并与系统自带的计算程
序进行对比。
A = imread('rice.png');
subplot(1,3,1);
imshow(A)
title('lady-rice');
[m,n] = size(A);
e = zeros(1,256);
for k = 0:255
          for i = 1:m
              for j = 1:n
                  if A(i,j) == k
                      e(k+1) = e(k+1)+1;
                  end
              end
          end
end
subplot(1,3,2);
bar(e);
subplot(1,3,3);
imhist(A,256);
2.进行灰度直方图的均衡化。
I=imread('cameraman.tif');
J=histeq(I);
figure;
imshow(I);
title('原图像');
figure;
imshow(J);
title('直方图均衡化后的图像');
figure;
Imhist(J,64);
title('均衡变化后的直方图');
3、利用直接灰度变换法对图像进行灰度变换
f=imread('rice.png');
figure;
imshow(f);
title('原始图像')  ;
figure;
imhist(f,256);
title('原始图像直方图'); 
f1=imadjust(f,[0 1],[1 0]);%灰度转换,实现明暗转换(负片图像)
figure;
imshow(f1);
title('明暗转换后的图像');
figure;
imhist(f1,256);
title('明暗转换直方图'); 
f2=imadjust(f,[0.5 0.75],[0 1]);%0.50.75的灰度级扩展到范围[0 1]
figure;
imshow(f2); 
title('0.50.75的灰度级扩展到范围[0 1]的图像');
figure;
imhist(f2,256);
title('灰度级扩展直方图matlab直方图');
实验三 图像的算术运算与空间域增强
使用与图像算数运算的MATLAB程序

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。