gpt4 book ai didi

image-processing - 过滤后如何处理负像素值?

转载 作者:行者123 更新时间:2023-12-03 15:36:15 32 4
gpt4 key购买 nike

我有一个 8 位图像,我想用一个矩阵对其进行过滤以进行边缘检测。我的内核矩阵是

0  1  0
1 -4 1
0 1 0

对于某些指数,它给了我一个负值。我应该对他们做什么?

最佳答案

你的内核是一个拉普拉斯过滤器。将其应用于图像会产生拉普拉斯算子的有限差分逼近。 The Laplace operator is not an edge detector by itself .

但是您可以将其用作边缘检测器的构建 block :您需要检测零交叉以找到边缘(这是 Marr-Hildreth edge detector )。要找到零交叉,您需要有负值。

您还可以使用拉普拉斯过滤图像来锐化图像。如果你从原始图像中减去它,结果将是一个边缘更清晰、感觉更清晰的图像。为此,负值也很重要。

对于这两个应用程序,如另一个答案中所建议的那样,钳制操作的结果是错误的。该钳位将所有负值设置为 0。这意味着不再需要找到零交叉,因此您无法找到边缘,并且对于锐化,这意味着每个边缘的一侧不会被锐化。

因此,对拉普拉斯过滤器的结果最好的办法是保持原样。使用带符号的 16 位整数类型来存储结果(我实际上更喜欢使用浮点类型,它可以简化很多事情)。

另一方面,如果要将拉普拉斯过滤器的结果显示到屏幕上,则必须对像素值做一些有意义的事情。在这种情况下,常见的是为每个像素添加 128。这会将零转换为中灰色值,将负值显示为更暗,将正值显示为更亮。加上 128 后,255 以上和 0 以下的值可以被剪掉。如果要避免剪切,还可以进一步拉伸(stretch)值,例如 laplace / 2 + 128 .

关于image-processing - 过滤后如何处理负像素值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53027923/

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