创建拉普拉斯矩阵,过滤图像
Create Laplace matrix, filter image
我正在做一个实现图像过滤器的项目。我的问题是,用户说在图像中应用拉普拉斯滤波器,内核大小是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
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 平均图像时图像损坏
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- C++ 图像过滤算法
- 幼稚的过滤返回错误的图像
- 图像过滤不正确
- 放大的PPM图像(无过滤)
- OPENCV-直接用指针访问过滤图像,并用内核矩阵过滤
- 提高平均图像过滤速度的方法
- 过滤 1bpp 图像
- 如何过滤图像中给定宽度的线条
- 如何在OpenCV中过滤具有邻域主色的图像
- 初学者对图像过滤的尝试
- 在c++中加速图像过滤
- 为什么我过滤后的图像(应该是二进制的)仍然包含彩色部分?(C++中的OpenCV)
- 创建拉普拉斯矩阵,过滤图像
- c++, opencv:在过滤操作中对源和目标图像使用相同的Mat是否安全?