c++ - 如何在不使用准备好的 OpenCv 函数的情况下在 C++ 中对图像实现锐化掩蔽?

标签 c++ image-processing

如何应用Unsharp Masking方法来增强图像的边缘?

最佳答案

link真的可以帮助你。

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

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

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

通过锐化蒙版,我认为你在谈论 blur.前面提到的矩阵会使图像模糊。您可以查看链接以获取更多过滤器和结果的示例。

如果在你的家庭作业中你被允许使用 OpenCV 的其他函数,你可以使用 filter2D to apply a kernel .如果没有,您可以使用 mat 中的方法 at 逐个像素地检查...从原始垫子读取像素,将结果写入不同的垫子。

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

关于c++ - 如何在不使用准备好的 OpenCv 函数的情况下在 C++ 中对图像实现锐化掩蔽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32894714/

相关文章:

c++ - 打印地址和结构地址之间的区别

c++ - 如何从 Boost Spirit X3 词素解析器中获取字符串?

c++ - 是否有可以忽略函数的 gcc pragma?

python - 使用 pyvips 连接多个巨大的图像

java - PNGj : Row writing order

python - 如何从文档图像中检测多个文本 block ?

c++ - (C++) 初始化和声明二维 vector 中的元素

c++ - 在 C++ 中,如何释放 vector 中少数元素的内存并仍然对其他元素具有相同的索引

image-processing - 如何自动确定图像文件描绘的是照片还是 'graphic'?

python - 检测两张图片之间的变化