欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matlab中对比度增强函数imadjust

程序员文章站 2024-01-19 13:34:28
...

imadjust使用语法如下:

J = imadjust(I,[low_in high_in],[low_out high_out],gamma)

该函数的作用是把原始图像中的小于low_in的像素值映射到low_out。把大于high_in的像素值映射到high_out。

gamma是其他像素点的映射参数。当gamma=1时,表示线性变换。当gamma>1时,变换函数是一个凸函数,会增强暗色输出。当gamma<1时,变换函数是一个凹函数,会增强亮知值输出。

imadjust的使用方法,我们直接用一个脚本来示例。

I = imread('../picture/bule_sky.jpg');
% M=stretchlim(I);
J1 = imadjust(I,[0.1 1],[]);
J2 = imadjust(I,[0.3 1],[]);
J3 = imadjust(I,[0.5 1],[]);
subplot(2,3,1);
imshow(J1);
subplot(2,3,2);
imshow(J2);
subplot(2,3,3);
imshow(J3);
J4 = imadjust(I,[0 0.5],[]);
J5 = imadjust(I,[0 0.7],[]);
J6 = imadjust(I,[0 0.9],[]);
subplot(2,3,4);
imshow(J4);
subplot(2,3,5);
imshow(J5);
subplot(2,3,6);
imshow(J6);

通过这脚本我们可以看到:

1.J1,J2和J3中图像的对比度逐步变小。这是因为in_low越来越大,那么越来越多小于in_low的像素值被映射成一个值,对比度当然越来越高。

2.J4,J5和J6中图像的对比度会越来越小。因为in_high越来越大,那么越来越多大于in_high的像素值被映射一个值,对比度当然越来越高。

问题,我们怎么调节参数使图片的对比度越来越高呢?

1.把in_low拉到较小的out_low的位置。把in_hight拉到较高的out_hight位置。

2.增大gamma值。