【发布时间】:2013-01-31 04:08:04
【问题描述】:
我想做一些图像处理,其中伽马校正很重要。我在网上搜索了通用公式,但找不到适合我需要的公式。
【问题讨论】:
-
当您没有告诉我们这些具体是什么,或者您找到的答案有什么问题时,很难给出“符合您的需求”的答案。
标签: image-processing
我想做一些图像处理,其中伽马校正很重要。我在网上搜索了通用公式,但找不到适合我需要的公式。
【问题讨论】:
标签: image-processing
也是相当“通用”的问题。如果您对特定编程语言的解决方案不感兴趣,则可以使用此公式:
g'(g) = w_max * ((g - w_min) / (w_max - w_min)) ^ gamma + w_min
w_max 和 w_min 是图像中的最大和最小强度值,g 是 gamme 校正前的强度值。
【讨论】:
w_min 会得到错误的结果,除非 w_min 恰好为零。
在谷歌快速搜索伽玛校正 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;
【讨论】: