如何在不使用准备好的OpenCv函数的情况下在c++中实现对图像的不锐利遮罩

How to implement unsharp masking on an image in C++ without using prepared OpenCv functions?

本文关键字:图像 实现 函数 准备好 OpenCv 情况下 c++      更新时间:2023-10-16

如何应用不锐利遮罩方法来增强图像的边缘?

这个链接真的可以帮到你。

它是如何工作的?使用矩阵作为过滤器参数(内核),遍历图像的每个像素,其中新像素将是应用于该位置的矩阵。

[0   0.2   0]
[0.2 0.2 0.2]
[0   0.2   0]

例如,您可以使用上面的矩阵并应用于图像中的每个像素。上面的矩阵将取当前像素及其相邻像素的平均值。

我想你说的unsharp masking指的是模糊。前面提到的矩阵会使图像模糊。您可以查看链接,例如更多的过滤器和结果。

如果在你的作业中允许你使用OpenCV中的其他函数,你可以使用filter2D来应用内核。如果没有,您可以使用at方法从mat…从原始图像中读取像素,将结果写入另一个像素

这个网站详细解释了内核是如何工作的。此外,他们还有一个实时实现,您可以在其中尝试一些不同的矩阵。