基于MATLAB的视频图像处理基础(2)

本文介绍了使用MATLAB进行图像显示,包括imshow和image函数的区别,以及如何通过axis设定坐标轴范围。此外,探讨了灰度直方图在图像处理中的应用,包括归一化直方图的绘制和线性灰度变换对图像对比度、亮度的影响。通过实例展示了不同参数下(如Fa和Fb)对图像直方图和视觉效果的改变。
摘要由CSDN通过智能技术生成

%利用函数imshow、image显示图片,以及image、axis设置坐标轴的区别

X=imread('baboon.bmp')
figure
subplot(221),imshow(X)%显示原图(图一)
subplot(222),image(X)%image显示坐标轴(图二)
subplot(223),image([50,100],[50,120],X)%image([xmin xmax],[ymin ymax])即横坐标轴范围为50~100,纵坐标范围为50~120(图三)
subplot(224),image(X),axis([50,800,50,800])%axis ([xmin xmax ymin ymax])设置坐标轴在指定的区间(图四)

运行效果图如下:

灰度直方图描述图像的灰度级统计信息,主要应用于图像分割图像灰度变换等处理过程中。统计一幅图像中各个灰度级出现的次数或概率

归一化直方图可以直接反映不同灰度级出现的比率。

横坐标为图像中各个像素点的灰度级别纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。

%%灰度直方图----imhist(I)
I=imread('barbara.bmp')%读入图像
figure%打开新窗口
[M,N]=size(I)%计算图像大小
[counts,x]=imhist(I,15)%计算有15个区间的灰度直方图
counts=counts/M/N%归一化灰度直方图区间的值
stem(x,counts)%绘制归一化直方图
subplot(121),imshow(I)
subplot(122),imshow(stem(x,counts))

运行效果如下:

 

%%灰度的线性变换----
%线性灰度变换函数:B=f(A)=aA+c,A为输入图像的灰度值,B为输出图像灰度,a为线性函数的斜率,c为在Y轴的截距
%a>1时,输出图像对比度增大,a<1时,输出图像对比度减小
%a=1且c非零时,所有像素的灰度值上移或下移,使整个图像更暗或更亮。
%a<0,暗区变亮,亮区变暗。


%1.读入原图像
I=imread('fingerprint.bmp')%读入原图像
I=im2double(I)%转换数据类型为double
[M,N]=size(I)%计算图像大小
figure(1)
subplot(231),imshow(I)
title('原图像')

%2.原图像灰度直方图
figure(2)
subplot(231)
[H,x]=imhist(I,15)%计算15个区间的灰度直方图
stem(x,H/M/N,'.')%显示原图像的直方图
title('原图像','fontsize',15)%fontsize函数将字体大小改为15号字

%3.增强对比度
%图像
Fa=2
Fb=-55
O=Fa.*I+Fb/255
figure(1)
subplot(232)
imshow(O)
title('Fa=2 Fb=-55增强对比度','fontsize',8)
%直方图
figure(2)
subplot(232)
[H,x]=imhist(O,15)
stem(x,H/M/N,'.')
title('Fa=2 Fb=-55增强对比度','fontsize',8)

%4.%减小对比度
Fa=0.5;Fb=-55;
O=Fa.*I+Fb/255;
figure(1);
subplot(2,3,3);
imshow(O);
title('Fa=0.5 Fb=-55 减小对比度','fontsize',8);
figure(2)
subplot(2,3,3);
[H,x]=imhist(O,15);
stem(x,H/M/N,'.');
title('Fa=0.5 Fb=-55 减小对比度','fontsize',8);

%5.线性增强亮度
Fa=1;Fb=55;
O=Fa.*I+Fb/255;
figure(1);
subplot(2,3,4);
imshow(O);
title('Fa=1 Fb=55 线性平移增加亮度','fontsize',8);
figure(2)
subplot(2,3,4);
[H,x]=imhist(O,15);
stem(x,H/M/N,'.');
title('Fa=1 Fb=55 线性平移增加亮度','fontsize',8);

%6.线性减小亮度
Fa=1;Fb=-55;
O=Fa.*I+Fb/255;
figure(1);
subplot(2,3,5);
imshow(O);
title('Fa=1 Fb=-55 线性平移减小亮度','fontsize',8);
figure(2)
subplot(2,3,5);
[H,x]=imhist(O,15);
stem(x,H/M/N,'.');
title('Fa=1 Fb=-55 线性平移减小亮度','fontsize',8);

%7.反向显示,亮区变暗,暗区变亮
Fa=-1;Fb=255;
O=Fa.*I+Fb/255;
figure(1);
subplot(2,3,6);
imshow(O);
title('Fa=-1 Fb=255 反向显示','fontsize',8);
figure(2)
subplot(2,3,6);
[H,x]=imhist(O,15);
stem(x,H/M/N,'.');
title('Fa=-1 Fb=255 反向显示','fontsize',8);
 

运行效果图如下:

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值