Matlab-通过循环创建子图显示不同γ值的γ校正结果
由于数字显示设备的非线性转换特征,使得图像的显示与原始场景相比较而言发生偏暗或偏亮的现象,这个时候就可以采用γ校正进行处理,使图像的显示等于或接近原始场景。
一、imadjust函数调整图像对比度
在Matlab中可以通过函数 J = imadjust(I, [low_in high_in], [low_out high_out], gamma) 实现对图像的Gamma校正。
[low_in high_in]:输入图像的对比度范围,默认为[0 1]。
[low_out high_out]:输出图像的对比度范围,默认为[0 1]。
gamma:描述输入和输出值关系的曲线形状,默认为1。
二、代码实现循环创建子图显示不同γ值的γ校正结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | %% Gamma校正 P = imread ( 'light.jpg' ); % 偏亮的图像 % P = imread('dark.jpg');偏暗的图像 Pg = rgb2gray(P); C = cell (1,5); %创建元胞数组 C{1,1} = imadjust(Pg, [0 1], [0 1], 1); C{1,2} = imadjust(Pg, [0 1], [0 1], 2); C{1,3} = imadjust(Pg, [0 1], [0 1], 0.5); C{1,4} = imadjust(Pg, [0 1], [0 1], 4); C{1,5} = imadjust(Pg, [0 1], [0 1], 0.25); a = { 'Gamma=1' , 'Gamma=2' , 'Gamma=1/2' , 'Gamma=4' , 'Gamma=1/4' }; for i = 1:5 subplot (2,5, i ); imshow(C{1, i }); title (a{ i }); subplot (2,5, i +5); imhist(C{1, i }); end |
三、结果展示
本文作者:khrushchefox
本文链接:https://www.cnblogs.com/khrushchefox/p/16104184.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步