我正在做一个实现图像过滤器的项目。我的问题是,用户说要在图像中应用拉普拉斯滤波器,内核是 nxn 大小。我知道拉普拉斯使用以下矩阵 3x3:
0 1 0
1 -4 1
0 1 0
但如果他想要一个 nxn 矩阵,我该如何创建它?
我正在做一个实现图像过滤器的项目。我的问题是,用户说要在图像中应用拉普拉斯滤波器,内核是 nxn 大小。我知道拉普拉斯使用以下矩阵 3x3:
0 1 0
1 -4 1
0 1 0
但如果他想要一个 nxn 矩阵,我该如何创建它?
图像处理中的“拉普拉斯滤波器”之所以被称为是因为您可以完全从图上离散拉普拉斯算子的正式定义中推导出它。这种方法导致两个立即有意义的卷积核,
1 1 1
1 -8 1
1 1 1
和
0 1 0
1 -4 1
0 1 0
,取决于您是否将对角相邻的像素视为邻居。
您当然可以使用其他矩阵作为卷积核(卷积的工作方式完全相同,操作与矩阵维度无关),但它们不再是“拉普拉斯算子”。nxn
您可以计算近似其他连续运算符的更大卷积核,但恕我直言,拉普拉斯矩阵没有一个“正确定义” 。
要么依赖用户输入并相信用户为你的目的输入一个合理的内核,要么对如何逼近其他运算符进行一些研究。这里给出了一个拉普拉斯高斯近似值的例子:http: //homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm