Matlab实现:图像直方图均衡化与灰度变换

一、直方图均衡化处理

实验图片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OE2WIHaV-1652449174379)(C:\Temp\1652445418457.png)]

(1)、读入某一灰度图像,画出其直方图。

I0=imread('sevilla.jpg');	%这里读入的是一张彩色图片
I=rgb2gray(I0);			%进行灰度转换

(2)、对该图像进行直方图均衡,显示均衡后的图像及其直方图,并使这些图片在同一个窗口显示。

J=histeq(I);
subplot(2,2,1),imshow(I),title('实验灰度图像');
subplot(2,2,2),imshow(J),title('均衡化后实验灰度图像');
subplot(2,2,3),imhist(I),title('实验灰度图像的直方图');
subplot(2,2,4),imhist(J),title('均衡化后实验灰度图像的直方图')

运行结果图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2AkJGA4M-1652449174381)(C:\Temp\1652445557623.png)]

二、图像灰度变换处理

读入某一灰度图像。

I0=imread('sevilla.jpg');	%这里读入的是一张彩色图片
I=rgb2gray(I0);			%进行灰度转换
  • 将图像的灰度降低70%,同屏显示原图像和灰度调整后图像。
J=0.3*I;
imshow(J);
  • 将图像灰度加上一个值(如50),使图像变亮,编程,同屏显示原图像和灰度调整后图像。
M=I+50;
imshow(M);
  • 画出灰度变换前后图像的直方图。
imhist(I);
imhist(J);
imhist(M);
  • 完整程序代码
I0=imread('sevilla.jpg');
I=rgb2gray(I0);
J=0.3*I;
M=I+50;
subplot(2,3,1),imshow(I),title('实验灰度图像');
subplot(2,3,2),imshow(J),title('灰度降低70%灰度图像');
subplot(2,3,3),imshow(M),title('灰度增亮50值灰度图像');
subplot(2,3,4),imhist(I),title('实验灰度直方图');
subplot(2,3,5),imhist(J),title('灰度降低70%灰度直方图');
subplot(2,3,6),imhist(M),title('灰度增亮50值灰度直方图');
  • 在一个窗口中显示所有相关图片。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y83ZPMWV-1652449174381)(C:\Temp\1652448988367.png)]

  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值