5.2 空间域滤波之高通滤波(图像锐化)

第三章 图像的低通与高通滤波 前面讲解了一些图像的基本理论以及操作,这一张将聚焦与图像的滤波操作。本章主要讲解了卷积操作的基本知识以及低通滤波和高通滤波,低通滤波就是为了消除图像的噪声,但也会让图像变的模糊;高通滤波能够检测图像的边缘,从而进行其他的判断。 阅读详情

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

上一章我们介绍了空间域滤波的低通滤波,低通滤波主要用于图像的平滑处理、降噪等作用。这一章,我们介绍空间域滤波的高通滤波,即:图像的锐化。


1. 理论基础

1.1 一阶导和二阶导的几何意义

  • 一阶导判断函数单调性
f ′ ( x ) > 0 f'(x)>0 f′(x)>0 f ′ ( x ) < 0 f'(x)<0 f′(x)<0
函数单调递增函数单调递减
  • 二阶导判断函数极值
f ′ ( x ) = 0 且 f ′ ′ ( x ) < 0 f'(x)=0且f''(x)<0 f′(x)=0且f′′(x)<0 f ′ ( x ) = 0 且 f ′ ′ ( x ) > 0 f'(x)=0且f''(x)>0 f′(x)=0且f′′(x)>0
函数开口向下, f ( x ) f(x) f(x) 在 x = 0 x=0 x=0 处有极大值函数开口向上, f ( x ) f(x) f(x) 在 x = 0 x=0 x=0 处有极小值
  • 二阶导判断函数凹凸性
在某区间 [ a , b ] [a,b] [a,b]内, f ′ ′ ( x ) < 0 f''(x)<0 f′′(x)<0在某区间 [ a , b ] [a,b] [a,b]内, f ′ ′ ( x ) > 0 f''(x)>0 f′′(x)>0
函数开口向下,在区间 [ a , b ] [a,b] [a,b]为凸函数函数开口向上,在区间 [ a , b ] [a,b] [a,b]为凹函数

简而言之:一阶微分(偏导) 反映灰度变化的快慢,而二阶微分(偏导)反映的是灰度变化曲线频率变化的剧烈程度(突变),很多时候仅有灰度的变化(一阶微分),但并不能证明此处出现了边缘或结构信息,而二阶微分恰恰弥补了这一缺陷。

1.2 如何利用一阶导和二阶导的几何意义分析图像

在前面的知识讲解中,我们说到可以使用 f ( x , y ) f(x,y) f(x,y) 来表示图像,我们现在研究图像中的一条线(比如第一行像素),则我们可以用 f ( x ) f(x) f(x) 来表示这条线。根据导数的定义可得: 一阶导定义为差分: ∂ f ∂ x = f ( x + 1 ) − f ( x ) 二阶导定义为差分: ∂ 2 f ∂ x 2 = f ( x + 1 ) + f ( x − 1 ) − 2 f ( x ) \begin{aligned} 一阶导定义为差分:&\frac{\partial f}{\partial x}=f(x+1)-f(x) \\ \quad \\ 二阶导定义为差分:&\frac{\partial^2 f}{\partial x^2}=f(x+1)+f(x-1)-2f(x) \end{aligned} 一阶导定义为差分:二阶导定义为差分:​∂x∂f​=f(x+1)−f(x)∂x2∂2f​=f(x+1)+f(x−1)−2f(x)​
下面我们分别计算一行像素的一阶导和二阶导,并加以分析:
在这里插入图片描述
从上图中我们可以看出:

  • 斜坡:一阶微分非0,二阶微分为0。
  • 斜坡开始处:一阶微分非0,二阶微分非0。
  • 斜坡结束处:二阶微分非0。
  • 台阶开始:一阶微分非0,二阶微分非0。
  • 台阶结束:二阶微分非0。
    我们换一种说法:
  • 对于斜坡:开始和结束的二阶微分为非0,在灰度变化率恒定的斜面上二阶微分值为0,这也是拉普拉斯锐化图像周围出现双边缘的原因,而一阶微分开始到结束都为非0,因此会产生较宽的边缘。
  • 对于阶梯:二阶微分中有一个从正到负的过渡,这一性质用于边缘检测。
  • 对于细线和孤立点:二阶微分对细线和孤立点的响应较强,这也说明了二阶微分对于细节增强的优越性,但同时也说明对噪声非常敏感。

2. 一阶导算子

2.1. Sobel算子

在这里插入图片描述

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

def sobleFilter2D(imgge):
    """
    使用Sobel算子进行图像锐化(cv.filter2D)
    :param imgge:
    :return:
    """
    # 使用函数 filter2D 实现 Sobel 算子
    kernSobelX = np.array([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]])  # SobelX kernel
    kernSobelY = np.array([[-1, -2, -1], [0, 0, 0], [1, 2, 1]])  # SobelY kernel
    SobelX = cv.filter2D(img, -1, kernSobelX, borderType=cv.BORDER_REFLECT)
    SobelY = cv.filter2D(img, -1, kernSobelY, borderType=cv.BORDER_REFLECT)
    SobelXY = cv.addWeighted(SobelX, 1.0, SobelY, 1.0, 0)  # 用绝对值近似平方根

    return SobelX, SobelY, SobelXY

def sobelGradient(image):
    """
    使用Sobel算子进行图像锐化(cv.Sobel)
    :param image: 原图像
    :return:
    """
    # x 方向梯度
    gradX = cv.Sobel(image, cv.CV_32F, 1, 0)
    # y 方向梯度
    gradY = cv.Sobel(image, cv.CV_32F, 0, 1)
    # 分别求绝对值并转化为8位的图像上,这样做方便显示
    imgGradX = cv.convertScaleAbs(gradX)
    imgGradY = cv.convertScaleAbs(gradY)

    # 两个方向梯度的叠加,权重各自一半
    imgGradXY = cv.addWeighted(imgGradX, 1.0, imgGradY, 1.0, 0)

    return imgGradX, imgGradY, imgGradXY

if __name__ == '__main__':

    img = cv.imread('Image/Fig0504.tif', 0)

    img1, img2, img3 = sobleFilter2D(img)
    img4, img5, img6 = sobelGradient(img)

    # 显示结果
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 18
    plt.figure(figsize=(15, 5))
    plt.subplot(131), plt.title("原图像"), plt.axis('off')
    plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
    plt.subplot(132), plt.title("cv.Filter2D图像梯度"), plt.axis('off')
    plt.imshow(cv.cvtColor(img3, cv.COLOR_BGR2RGB))
    plt.subplot(133), plt.title("cv.Sobel图像梯度"), plt.axis('off')
    plt.imshow(cv.cvtColor(img6, cv.COLOR_BGR2RGB))
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

在这里插入图片描述
上图原图是一个隐形镜片的光学图像,光照突出了4点钟和5点钟方向镜片边界上的两个边缘缺陷。右图是Sobel核得到的梯度。

2.2. Scharr算子

在这里插入图片描述

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

def scharrGradient(image):
    """
    Scharr gradient function(cv.Scharr)
    :param image: Source image
    :return:
    """
    # x 方向梯度
    gradX = cv.Scharr(image, cv.CV_32F, 1, 0)
    # y 方向梯度
    gradY = cv.Scharr(image, cv.CV_32F, 0, 1)
    # 分别求绝对值并转化为8位的图像上,这样做方便显示
    imgGradX = cv.convertScaleAbs(gradX)
    print(imgGradX)
    imgGradY = cv.convertScaleAbs(gradY)

    # 两个方向梯度的叠加,权重各自一半
    imgGradXY = cv.addWeighted(imgGradX, 0.5, imgGradY, 0.5, 0)

    return imgGradX, imgGradY, imgGradXY

def charrFilter2D(imgge):
    """
    Scharr gradient function(cv.filter2D)
    :param image: Source image
    :return:
    """
    # 使用函数 filter2D 实现 Scharr 算子
    kernScharrX = np.array([[-3, 0, 3], [-10, 0, 10], [-3, 0, 3]])  # ScharrX kernel
    kernScharrY = np.array([[-3, -10, -3], [0, 0, 0], [3, 10, 3]])  # ScharrY kernel

    SobelX = cv.filter2D(img, -1, kernScharrX, borderType=cv.BORDER_REFLECT)
    SobelY = cv.filter2D(img, -1, kernScharrY, borderType=cv.BORDER_REFLECT)
    SobelXY = cv.addWeighted(SobelX, 0.5, SobelY, 0.5, 0)  # 用绝对值近似平方根

    return SobelX, SobelY, SobelXY

if __name__ == '__main__':

    img = cv.imread('Image/Fig0504.tif', 0)

    img1, img2, img3 = charrFilter2D(img)
    img4, img5, img6 = scharrGradient(img)

    # 显示结果
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.size'] = 18
    plt.figure(figsize=(15, 5))
    plt.subplot(131), plt.title("原图像"), plt.axis('off')
    plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
    plt.subplot(132), plt.title("cv.Filter2D图像梯度"), plt.axis('off')
    plt.imshow(cv.cvtColor(img3, cv.COLOR_BGR2RGB))
    plt.subplot(133), plt.title("cv.Scharr图像梯度"), plt.axis('off')
    plt.imshow(cv.cvtColor(img6, cv.COLOR_BGR2RGB))
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

在这里插入图片描述

2. 二阶导算子

2.1 拉普拉斯算子

2.1.1 原理说明

拉普拉斯图像锐化的基本函数式如下: g ( x , y ) = f ( x , y ) + c [ Δ 2 f ( x , y ) ] ,其中 c [ Δ 2 f ( x , y ) ] 是锐化增强的部分 g(x,y)=f(x,y)+c[\Delta^2f(x,y)],其中\quad c[\Delta^2f(x,y)]\quad是锐化增强的部分 g(x,y)=f(x,y)+c[Δ2f(x,y)],其中c[Δ2f(x,y)]是锐化增强的部分公式推导如下:
Δ 2 f = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 \Delta^2f=\frac{\partial^2f}{\partial x^2}+\frac{\partial^2f}{\partial y^2} Δ2f=∂x2∂2f​+∂y2∂2f​分别求x, y方向的二阶偏导: ∂ 2 f ∂ x 2 = f ( x + 1 , y ) + f ( x − 1 , y ) − 2 f ( x , y ) \frac{\partial^2f}{\partial x^2}=f(x+1,y)+f(x-1,y)-2f(x,y) ∂x2∂2f​=f(x+1,y)+f(x−1,y)−2f(x,y) ∂ 2 f ∂ y 2 = f ( x , y + 1 ) + f ( x , y − 1 ) − 2 f ( x , y ) \frac{\partial^2f}{\partial y^2}=f(x,y+1)+f(x,y-1)-2f(x,y) ∂y2∂2f​=f(x,y+1)+f(x,y−1)−2f(x,y)可得: Δ 2 f ( x , y ) = f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 4 f ( x , y ) \Delta^2f(x,y)=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) Δ2f(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y)这个公式可以通过下图中的核进行卷积运算来实现:

在这里插入图片描述
其中,若 g ( x , y ) = f ( x , y ) + c [ Δ 2 f ( x , y ) ] g(x,y)=f(x,y)+c[\Delta^2f(x,y)] g(x,y)=f(x,y)+c[Δ2f(x,y)]使用核 1 , 2 ,则 c = − 1 ,否则 c = 1 1,2,则c = -1,否则 c = 1 1,2,则c=−1,否则c=1。

2.1.2 示例分析

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt


def imageSharpening(src, kernel):
    """
    图像锐化:Laplacian
    :param src: 需要锐化的原图像
    :param kernel: 拉普拉斯核
    :return: 返回锐化结果
    """
    laplacian = cv.filter2D(src, -1, kernel)
    dst = src + laplacian
    return [src, laplacian, dst]


if __name__ == '__main__':
    img = cv.imread('Image/Fig0503.tif', 0)

    kernel1 = np.array([[0, 1, 0], [1, -4, 1], [0, 1, 0]], dtype=np.float32)
    lst1 = imageSharpening(img, kernel1)

    kernel2 = np.array([[1, 1, 1], [1, -8, 1], [1, 1, 1]], dtype=np.float32)
    lst2 = imageSharpening(img, kernel2)

    kernel3 = np.array([[0, -1, 0], [-1, 4, -1], [0, -1, 0]], dtype=np.float32)
    lst3 = imageSharpening(img, kernel3)

    kernel4 = np.array([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]], dtype=np.float32)
    lst4 = imageSharpening(img, kernel4)

    # 直接使用 cv.Laplacian 接口
    # laplacian = cv.Laplacian(img, cv.CV_64F)
    # laplacian_abs = np.uint8(np.absolute(laplacian))
    # cv.imshow('Laplacian', laplacian_abs)
    # cv.waitKey(0)

    # 图像显示
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.figure(figsize=(16, 24))
    titleList = ["Original Image", "Laplacian A", "Sharpening","Original Image", "Laplacian B", "Sharpening","Original Image", "Laplacian C", "Sharpening","Original Image", "Laplacian D", "Sharpening"]
    imageList = lst1 + lst2 + lst3 + lst4

    for i in range(12):
        plt.subplot(4, 3, i + 1), plt.title(titleList[i]), plt.axis('off')
        plt.imshow(imageList[i], vmin=0, vmax=255, cmap='gray')
    plt.tight_layout()
    plt.savefig("Image/tmp.png")
    plt.show()

在这里插入图片描述


OpenCv图像锐化及各种高通滤波 目录 什么是图像锐化以及为什么要进行图像锐化 图像锐化的方法 1.空域滤波的可使用几种方法 1.1梯度法 1.2拉普拉斯算子法 1.3定向滤波法 2.频域方面的高通滤波 什么是图像锐化以及为什么要进行图像锐化 是什么? 消除或减弱图像的低频分量从而增强图像中物体的边缘轮廓信息的过程称为图像锐化。 为什么? 在上一节图像平滑处理过程中不仅消除了噪音,也使边缘纹理受到了损失(都是高频分量)。为了突出图像的边缘纹理信息,就可以使用图像锐化处理。 图像锐化的方法 图像锐化可以采用基于空间 阅读详情

相关推荐

数字图像的空间域滤波和频域滤波

数字图像的空间域滤波和频域滤波 一.实验目的 1.        掌握图像滤波的基本定义及目的。 2.        理解空间域滤波的基本原理及方法。 3.        掌握进行图像的空域滤波的方法。 4.        掌握傅立叶变换及逆变换的基本原理方法。 5.        理解频域滤波的基本原理及方法。 6.        掌握进行图像的频域滤...

木槿浅藏心的博客 1万+

opencv 四 Mat的基本操作3(高通滤波、低通滤波、对比度调节)

图像滤波分为高通滤波和低通滤波,高通滤波用于求图形的边缘,低通滤波用于图像去噪、图像模糊化等。这里的频是指变化(相邻像素值的变化),高通滤波是指使变化大也就是图像的边缘)的通过(低通滤波是指使变化小(也就是图像中图形)的通过。高通滤波部分涉及到Sobel、Scharr、Laplacian、canny等方法低通滤波 部分涉及: 均值滤波,方框滤波、中值滤波、高斯滤波和双边滤波。

m0_74259636的博客 4820

数字图像处理——图像平滑和图像锐化实验

一、实验目的 1、掌握频率域滤波的基本概念和常用方法; 2、利用MATLAB进行频率域滤波,观察图像平滑和图像锐化的效果,加深对频率域滤波的理解; 3、掌握图像FFT变换与DCT变换后进行频率域滤波的不同; 4、掌握低通滤波与高通滤波原理,对DCT变换后的图像进行低通滤波和高通滤波。 二、实验原理 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。频率直接关系到图像空间灰度的...

Irene_zll的博客 1万+

【OpenCV-Python】:图像高通滤波、低通滤波、带通滤波实现

目录😺一、高通滤波🐶1.1 原理🐶1.2 程序设计🐶1.3 结果可视化😺二、低通滤波🐶2.1 原理🐶2.2 程序设计🐶2.3 结果可视化😺三、带通滤波🐶3.1 原理🐶3.2 程序设计🐶3.3 结果可视化 😺一、高通滤波 🐶1.1 原理 顾名思义,高通滤波就是允许高频信息通过,低频信息截断的滤波方式。 🐶1.2 .

王乐予的博客 7802

MATLAB中实现图像的空间域滤波和频率域滤波

一)空间域滤波与频率域滤波  1)空间域滤波       空间域滤波是指在图像空间中借助模板对图像领域进行操作,处理图像每一个像素值。主要分为线性滤波和非线性滤波两类,根据功能可分为平滑滤波器和锐化滤波器。平滑可通过低通来实现,平滑的目的有两类,一是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小尖端连接起来;二是去噪。锐化则可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。

Zoe的技术博客 3万+

机器视觉检测中的图像预处理方法:平滑模糊处理,锐化

为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。假如目标像素点和它周边的值(上下左右前后的临点,具体的比邻范围依赖于算子的大小,3*3的算子比邻范围为1,5*5的为2,以此类推)得有较大差异,那么就可以通过这个算子对原图矩阵中的这个位置进行卷积运算,得出的值和该像素点原来的灰度值会产生显著的差异。根据设定的尺寸,将区域内的像素进行排序,中心点的像素值由过滤尺寸内的位于中间的像素值取代,中值滤波对于去除小的噪点或者脉冲噪声效果非常好,中值滤波会改变图像的结构,图像的强度被改变。

VOMMA的博客 2094

空间域图像增强:图像锐化/增强

OpenCV图像锐化/增强0.综述1.Laplacian高通滤波算子2.代码实践 0.综述 图像的卷积计算除了可以完成我们前面介绍的模糊去噪、边缘检测等任务外,还可以实现图像锐化/增强的功能。 图像锐化是一种突出和加强图像中景物的边缘和轮廓的技术。在图像中,边缘可以看作是位于一阶导数较大的像素位置,因此可以通过求图像的一阶导数来加强图像的边缘。同样我们也可以通过求图像的二阶导数来完成图像锐化。一般...

Hundreays 1万+

(数字图像处理MATLAB+Python)第七章图像锐化-第四节:频域高通滤波与综合案例

尽可能地使皮肤变得平滑、白皙。采用所学基础处理方法实现题目要求。:将双边滤波后的图像提取肤色区域,原图提取背景区域,两图融合。:p采用拉普拉斯算子锐化,锐化力度降为1/3。

快乐江湖的博客 4617

图像锐化

目录1. 图像锐化2. 空间域方法2.1. 梯度模算子 1. 图像锐化 图像锐化也称边缘增强。锐化技术用于加强图像中的边界和细节信息。由于边界和细节信息对应频域中的高频部分,所以在频域中通常对图像进行高通滤波,在空间域则进行微分处理。 2. 空间域方法 在进行频率域处理前,先简单介绍两种空间域的图像锐化算子。 2.1. 梯度模算子 由数学知识,我们知道方向导数取得最大值的方向是梯度方向,这个最大值便是梯度的模。在边界和细节部分进行梯度运算,得到的值较大,而在较平缓的地方,会得到较小的梯度。为了运算简便,梯度

qq_45267848的博客 8110

图像处理之理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器的matlab简单实现

经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的信息**。一般情况下,高通滤波对噪声没有任何抑制作用**,若简单的使用高通滤波,图像质量可能由于噪声严重而难以达到满意的改善效果。这种滤波器实际上是由一个高通滤波器和一个全通滤波器构成的,这样便能在高通滤波的基础上保留低频信息。高通滤波可以分为理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器。其中D0为巴特沃斯高通滤波器的截止频率,其中D0为理想高通滤波器的截止频率,其中D0为高斯高通滤波器的截止频率,三、巴特沃斯高通滤波器(BHPF)....

qq_44111805的博客 3万+

【Unity动画系统】详解Root Motion动画在Unity中的应用(一)

什么时候勾选Bake into pose,当不希望动画带动游戏对象旋转时。在旋转的动画中一般是不用勾选的,因为就需要用它来带动我们的角色对象旋转。但在比如前进、后退、待机等动画来说,我们就可以勾选这里,以避免因动画文件本身的瑕疵而给我们带来的旋转。loop match:代表了这个动画在角度上的吻合度。如果这个动画在播放中转角过大,那么就会显示红色,告诉我们如果勾选bake into pose,则会带来不好的效果。

weixin_60154963的博客 6802

【youcans 的图像处理学习课】7. 空间域图像滤波

本节介绍空间域滤波的平滑(低通滤波)和锐化(高通滤波)方法。常用的平滑算法有高斯平滑、均值平滑、中值平滑、双边滤波、导向滤波等;常用的锐化算法有钝化掩蔽、拉普拉斯算子、Sobel梯度算子和 Scharr 梯度算子。 1. 安装与环境配置 2. 图像读取与显示 3. 图像的创建与修改 4. 图像的叠加与混合 5. 图像的几何变换 6. 灰度变换与直方图处理 7. 空间域图像滤波 8. 频率域图像滤波...

youcans的博客 7445

深入CARLA地图底层:OpenDRIVE文件如何影响你的仿真效果与避坑指南

本文深入解析CARLA仿真中OpenDRIVE地图文件的核心作用,揭示其如何影响车道连接、交通规则和导航逻辑。通过实战案例和代码示例,提供五大典型地图问题的诊断与修复方案,帮助开发者优化仿真效果并规避常见陷阱。

weixin_34180452的博客 276

MATLAB-图像锐化(空域与频域)

在MATLAB进行锐化处理 在空域中使用各种算子进行处理,如拉普拉斯算子(各向同性的边缘检测算子),Sobel算子,Prewitt算子,还有些自己设定的模板,能够分别锐化水平、垂直、对角,某些模板也有平滑作用 在频域中使用理想高通滤波器(IHPF),巴特沃思(butterworth)高通滤波器(BHPF),指数高通滤波器(EHPF),进行高频提升 对真彩色图像进行锐化处理,代码同空域与频域

weixin_53447776的博客 1万+

AD(AltiumDesigner)封装导入allegro生成allegro封装

AD(AltiumDesigner)封装导入allegro生成allegro封装 貌似PCB的封装问题是一个无尽话题,为了简单我总是想找捷径(主要还是太懒了),因为也是近期才开始学习使用allegro进行PCB设计,在最近的一个设计中,很多器件封装allegro中都没有,一个一个画感觉很费时间,但是在AD(AltiumDesigner)的封装库中是有的,于是便想着AD的封装库能不能倒入到alleg...

yangh2560的博客 2万+

stm32使用TB6600驱动器控制42BYGH型步进电机

stm32使用TB6600驱动器控制42BYGH型步进电机

qq_35653974的博客 9582

python图像处理 ——图像锐化

由于收集图像数据的器件或传输图像的通道存在一些质量缺陷,或者受其他外界因素的影响,使得图像存在模糊和有噪声的情况,从而影响到图像识别工作的开展。一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息主要集中在其高频部分。这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。

weixin_42207434的博客 6354

基于Xilinx_IBERT的光纤接口眼图测试

基于Xilinx_IBERT的光纤接口眼图测试

Coca_Tian的博客 1万+

图像滤波方法的理论分析

图像滤波是图像处理中常用的技术,主要用于减少图像中的噪声或提取图像的某些特征。滤波过程可以被看作是对图像中每个像素的某种形式的邻域操作。下面,我将对图像滤波方法进行理论分析,并尽量提供详细的数学公式。

FPGA/MATLAB学习教程/源码/项目合作开发 2449

基于知识图谱的农作物病虫害问答系统设计与实现

基于规则的问题分类是自问答系统诞生以来就一直存在的方式,主要代表就是众多的专家系统,构建专家系统采用的是规则分类器,优点是能够对特定领域、特征明显的问题进行高效精准问答,但是。,在问答系统中,问题以语音及文本字符等自然语言形式输入,利用问答系统的内部的逻辑处理模块,通过自然语言处理技术获得输入问句的详细语义信息,再经过知识检索、置信分析等步骤,自然语言处理中,用于文本分类任务的机器学习方式有两种,一种用传统的机器学习,如 NBC、SVM 等,另一种采用深度学习,如 CNN 和 RNN 等。

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 2164

安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案

本文主要介绍了安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案,希望能对使用openclaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 12万+

数字图像处理与Python实现笔记之空间滤波

数字图像处理与Python实现笔记之空间滤波摘要绪论1 数字图像处理基础知识2 彩色图像处理初步3 空间滤波3.1 空间滤波基础3.1.1 空间滤波的机理3.1.2 空间滤波器模板3.2 平滑处理3.3 锐化处理3.4 混合空间增强3.5 小结 摘要 简要介绍数字图像处理涉及的一些基本概念、基本运算、基本类型,以及如何通过Python对数字图像进行读取和简单操作。 以彩色图像为例对数字图像处理的基本操作进行介绍,熟悉数字图像处理的基本过程,主要包括颜色空间的基本概念、伪彩色图像处理操作,彩色图像处理简单操

紫芝的博客 1万+

YOLOv8/v9 遥感图像目标检测实战指南:建筑物检测与变化监测

遥感图像在城市规划、灾害评估、农业监管等领域应用广泛,但传统目标检测方法存在效率低、精度不足、难以适配遥感图像大尺寸、多尺度目标等问题。本文以“建筑物检测与变化监测”为核心,基于DOTA、NWPU VHR-10等公开数据集,系统讲解YOLOv8/v9在遥感图像中的实战流程。从数据获取、格式转换、模型训练优化,到大图切片推理、建筑物变化监测,全程提供可复现的代码与参数配置。通过针对性优化(旋转增强、切片推理等),模型在NWPU VHR-10数据集上mAP50达0.85以上,可适配卫星影像、无人机航拍等多场景

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 518

空间域图像增强

空间域图像增强   1.基本概念:         图像增强可分成两大类:频率域法和空间域法。前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。后者空间域法中具有代表性的算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或

火雨(Nick) 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽

图像模糊通过平滑(加权平均)来实现,类似于积分运算。图像锐化则通过微分运算(有限差分)实现,使用一阶微分或二阶微分都可以得到图像灰度的变化值。 图像锐化的目的是增强图像的灰度跳变部分,使模糊的图像变得清晰。图像锐化也称为高通滤波,通过和增强高频,衰减和抑制低频。图像锐化常用于电子印刷、医学成像和工业检测。

youcans的博客 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: 5.1 空间域滤波之低通滤波(图像模糊或图像平滑处理)
下一篇: 5.3 钝化掩蔽和高提升滤波
Four o'clock
博客等级 码龄8年 305粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值