1

我想做一些伽玛校正很重要的图像处理。我在网上搜索了通用公式,但找不到适合我需要的公式。

4

2 回答 2

4

相当“通用”的问题。如果您对特定编程语言的解决方案不感兴趣,则可以使用此公式:

g'(g) = w_max * ((g - w_min) / (w_max - w_min)) ^ gamma + w_min

w_max 和 w_min 是图像中的最大和最小强度值,g 是游戏校正之前的强度值。

于 2013-01-30T19:16:44.953 回答
3

在谷歌快速搜索伽玛校正 matlab(我在大学里使用 matlab 进行图像处理)后,我遇到了这个页面(http://www.mathworks.com/matlabcentral/fileexchange/5347-gamma-correction)和这段代码:

Err = 0;
if nargin < 2
    GammaValue = 1;
    disp('Default value for gamma = 1');
else if nargin ==2 & GammaValue < 0
     GammaValue = 1;
     disp('GammaValue < 0, Default value considered, Gammavalue = 1');
else if nargin > 2
     disp('Error : Too many input parameters');
     Err = 1;
end
if Err == 1 
x = imread(Image);
x = double(x);
Correction = 255 * (x/255).^ GammaValue; 
end;
于 2013-01-30T19:20:24.080 回答