滤波器和边缘检测

本文介绍了图像处理中的滤波器概念,特别是高通滤波器在边缘检测中的应用。通过使用卷积核对图像进行操作,识别并强化了图像中的边缘。滤波过程展示了从原图到灰度图,再到滤波后图像的转变,有效地突出了物体边界。然而,滤波后仍存在噪声,后续将探讨低通滤波器在降噪方面的作用。
摘要由CSDN通过智能技术生成

滤波器

之前已经说过了如何使用颜色来隔离图像的一部分或者协助进行图像分类,其实,除了颜色信息外,图像中的灰阶色饱和度图案也非常有用,强度用于测量光暗,和亮度类似,它可以用于探测感兴趣对象的其他区域,可以通过查看色饱和度的突然变化,识别对象的边缘,突然变化是指图像从很暗变化到很亮的区域或反向的变化。要探测这些变化需要使用并创建特定图像滤波,观察一组像素并探测图像的色饱和度的大范围变化,这些滤波器会产生输出至显示所有边缘。
现在要讲到的是高通滤波,高通滤波实现的是锐化图片以及强化图像中的高频区域,也就是相邻像素强度发生突变的区域,比如从极暗过渡到极亮的那些像素区域
边缘就是指图像里强度发生突变的区域,通常暗示着物体边界的存在
过滤器:以矩阵形式存在的,通常称为卷积核,其实就是一些值网络,能对图像进行修改以检测边缘的高通滤波器为例,3*3的核,元素总和为0,这个在边缘检测中很重要。
接下来,我们看看滤波器的相关代码:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

import cv2
import numpy as np

%matplotlib inline

#Read in the image
image = mpimg.imread('images/curved_lane.jpg')

plt.imshow(image)
  # Convert to grayscale for filtering
gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

plt.imshow(gray, cmap
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
差分滤波器是一种常用的边缘检测滤波器,可以通过计算图像中相邻像素值之差来检测边缘。实现差分滤波器边缘检测步骤如下: 1. 选择一个合适的差分滤波器模板,常用的有Sobel、Roberts和Prewitt等。 2. 对图像进行卷积操作,计算每个像素点与其周围像素的差值,得到一个新的图像。 3. 对差分图像进行阈值处理,将差值大于一定阈值的像素点标记为边缘。 4. 可以对边缘进行非极大值抑制和双阈值处理等后续处理,以提高边缘检测的准确性。 下面给出一种实现差分滤波器边缘检测的Python代码示例,使用Sobel算子进行差分滤波: ```python import cv2 # 读取图像 img = cv2.imread('lena.jpg', 0) # 定义Sobel算子 sobel_x = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3) sobel_y = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3) # 计算差分图像 diff = cv2.absdiff(sobel_x, sobel_y) # 阈值处理 thresh = cv2.threshold(diff, 50, 255, cv2.THRESH_BINARY)[1] # 显示结果 cv2.imshow('Original Image', img) cv2.imshow('Difference Image', diff) cv2.imshow('Threshold Image', thresh) cv2.waitKey(0) cv2.destroyAllWindows() ``` 其中,cv2.Sobel函数可以计算Sobel算子,参数说明如下: - 第一个参数为输入图像; - 第二个参数为输出图像的深度,一般使用cv2.CV_64F; - 第三个参数和第四个参数分别表示x方向和y方向的差分阶数; - 第五个参数为卷积核大小,一般为3或5。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值