【发布时间】:2021-01-03 15:52:50
【问题描述】:
对比度卷积滤波器的内核(矩阵)是否存在? 我已经在 C# 中实现了低通滤波器,而且更容易实现,但即使花了几天时间寻找对比度滤波器的内核值,我也一无所获。
这是我的低通滤波器供参考:
private double[,] _kernel = new double[,] { { 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 }, };
public override double[,] Kernel
{
get { return _kernel; }
}
private double _scale = 25.0;
public override double Scale
{
get { return _scale; }
}
private double _bias = 0.0;
public override double Bias
{
get { return _bias; }
}
我知道实现对比度滤镜本身非常容易。
*C = ((100.0 + T) / 100.0)^2* 给出了我用来分别计算像素的新蓝色、绿色和红色值的对比度值。
B = ( ( ( (B1 / 255.0) – 0.5) * C) + 0.5) * 255.0
G = ( ( ( (G1 / 255.0) – 0.5) * C) + 0.5) * 255.0
R = ( ( ( (R1 / 255.0) – 0.5) * C) + 0.5) * 255.0
我的问题是我的任务需要我实现一个卷积过滤器来进行对比。
关于我可以使用哪种内核的任何想法?是 3x3 还是 5x5 并不重要。
【问题讨论】:
-
我想使用卷积滤波器增加图像的对比度。对于一个不好的解释,我深表歉意。我已经编辑了帖子。
-
方程
B = ( ( ( (B1 / 255.0) – 0.5) * C) + 0.5) * 255.0不能实现为卷积。但是您可以将B = ( (B1 / 255.0) * C) * 255.0 = B1 * C实现为卷积。这将是一个 1x1 卷积核。 -
我的 1x1 卷积核的值是否取决于我想要的对比度?
-
C是您计算的值。如果C=1,则不会发生任何变化。如果C<1则对比度降低。如果C>1,则对比度增加。 -
我明白了,非常感谢!您能否将此作为答案发布,以便我接受?
标签: c# image-processing