【Emgu CV教程】7.1、图像锐化之Laplacian(拉普拉斯)算子锐化


一、介绍

前面几篇讲的是图像平滑,就是抑制或消除噪声,并使得图像亮度及颜色变化更平缓的操作。在图像处理领域,与平滑操作相对应的,叫图像锐化
图像锐化就是增强图像的边缘和细节部分,使图像变得清晰。它分为空间域处理和频域处理两类,空间领域相对简单,也是利用滤波核生成新的图像。频率域滤波会涉及到傅里叶函数应用,相对来说更难以理解。
下面将连续介绍几种图像锐化的常见方法,这篇文章先讲Laplacian(拉普拉斯)算子锐化,这是一个最基础、最常用的方法。它其实就是利用了前面介绍的Filter2D()函数进行卷积,但是卷积核是有特殊要求的。具体的含义我也不清楚,读者可以看看网上的相关说明,这里举一个简单的例子,以3 * 3大小的滤波核为例,常见的拉普拉斯算子是这样的:
在这里插入图片描述

二、举例

1.原始素材

原始素材定义为srcMat,如下:
在这里插入图片描述
这是个电影里的镜头,下面看一下锐化效果。

2.代码

Laplacian(拉普拉斯)算子锐化的代码如下:

int ksize = 11;
int[,,] date = new[,,]
{
   
    {
   
        {
    -1 },
        {
    -1 },
        {
    -1 }
    },
    {
   
        {
    -1 },
        {
    ksize },
        {
    -1 }
    },
    {
   
        {
    -1 },
        {
    -1 },
        {
    -1 }
    }
};
Mat tempMat = srcMat.Clone();
Mat dstMat = new Mat(tempMat.Size, tempMat.Depth, tempMat.NumberOfChannels);
Image<Gray, int> kernel = new Image<Gray, int>(date);
CvInvoke.Filter2D(tempMat, dstMat, kernel, new System.Drawing.Point(-1, -1));

3.运行结果

在这里插入图片描述

锐化效果非常棒,是不是有一种从黑夜到白天的效果。

注意:Emgu CV里面有个Laplacian()函数,这个可不是锐化用的,而是检测边缘用的,概念要分清除。


原创不易,请勿抄袭。共同进步,相互学习。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-02-21 09:04:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-21 09:04:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-21 09:04:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-21 09:04:04       18 阅读

热门阅读

  1. 通过 GithubActions 实现自动化部署 Hexo

    2024-02-21 09:04:04       25 阅读
  2. 【Spring Boot 使用Filter统一处理请求数据转换】

    2024-02-21 09:04:04       28 阅读
  3. React 19即将发布,新增4个Hook函数

    2024-02-21 09:04:04       25 阅读
  4. HTTP 状态消息

    2024-02-21 09:04:04       29 阅读
  5. Nginx返回502错误提示问题原因常用解决方法

    2024-02-21 09:04:04       24 阅读
  6. 3.普通函数与函数模板的调用规则

    2024-02-21 09:04:04       28 阅读
  7. c语言游戏实战(9):球球大作战

    2024-02-21 09:04:04       28 阅读
  8. open3d 0.17.0的open3d.visualization.ViewControl类有bug

    2024-02-21 09:04:04       25 阅读
  9. 为BUG编程:成员变量用指针char const *导致的BUG

    2024-02-21 09:04:04       28 阅读