gpt4 book ai didi

opencv - Gamma 校正@幂律变换

转载 作者:行者123 更新时间:2023-12-02 16:50:14 28 4
gpt4 key购买 nike

我尝试对图像进行一些简单的 Gamma 校正。起初,我尝试使用 Matlab,然后将其应用于 opencv。但我得到不同的结果。下面是部分代码。代码哪里出错了?

在matlab中:

for i=1:r;
for j=1:c;
imout(i,j)=constant_value*power(img_double(i,j),0.04);
end
end

在 OpenCV 中:
for(int y=0; y<height; y++){
for(int x=0; x<width; x++)
{
dataNew[y*stepNew+x] = constant_value*pow(dataNew[y*stepNew+x], 0.04);
}
}

其中图像是无符号 8 位、1 channel 图像。我错过了哪一部分?

最佳答案

我的猜测是您忘记将 OpenCV 中的图像数据缩放到区间 [0,1]。在 Matlab im2double自动为您执行此操作。
因此,对于 8 位图像,这样的东西应该可以工作:

dataNew[y*stepNew+x] = 255 * constant_value*pow(dataNew[y*stepNew+x]/255.0, 0.04);

关于opencv - Gamma 校正@幂律变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211260/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com