作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试对图像进行一些简单的 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
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);
}
}
最佳答案
我的猜测是您忘记将 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/
我有一个带有 id、x 和 y 坐标的顶点 vector ,我想为我的顶点生成一个幂律图。 Boost 库图提供幂律 plod_iterator() 但我如何用我的顶点生成它。任何人都可以帮忙吗? 最
我是一名优秀的程序员,十分优秀!